2017-07-12 2 views
3

J'ai besoin d'aide car je suis un peu perdue.Répliquer des éléments dans la liste des pandas

Supposons que j'ai une colonne d'une base de données que j'ai besoin d'être rempli avec certains éléments des lignes précédentes. Pour simplifier les choses que j'ai fait un pd.series:

lista = ['hola','salut','hello','xixie'] 
index1 = (0, 23,77,88) 
lista2 = pd.Series(lista, index = index1) 

Ce que je dois faire est de combler les lacunes entre les indices de lista2 avec les éléments sur la liste, donc j'ai besoin de la ligne 0 à 22'hola ', de 22 à 76' salut ', et ainsi de suite. La longueur totale de la série doit être de 88.

J'espère que vous pouvez tous me comprendre et merci d'avance!

Répondre

3

Essayez ceci:

In [55]: lista2.reindex(np.arange(lista2.index.max())).ffill() 
Out[55]: 
0  hola 
1  hola 
2  hola 
3  hola 
4  hola 
5  hola 
6  hola 
7  hola 
8  hola 
9  hola 
10  hola 
11  hola 
12  hola 
13  hola 
14  hola 
15  hola 
16  hola 
17  hola 
18  hola 
19  hola 
     ... 
68 salut 
69 salut 
70 salut 
71 salut 
72 salut 
73 salut 
74 salut 
75 salut 
76 salut 
77 hello 
78 hello 
79 hello 
80 hello 
81 hello 
82 hello 
83 hello 
84 hello 
85 hello 
86 hello 
87 hello 
Length: 88, dtype: object 
+0

Cela semble fonctionner, laissez-moi tester sur mon programme réel. Merci!! oui, ça fonctionne vraiment. Merci encore!! –

+0

désolé, je l'ai juste oublié !! @MaxU –