2017-07-12 3 views
3

Ich brauche etwas Hilfe, da ich ein bisschen verloren bin.Elemente in der Pandas-Liste replizieren

Angenommen, ich habe eine Spalte aus einem Datenframe Ich muss mit bestimmten Elementen aus vorherigen Zeilen gefüllt werden. Um die Dinge zu vereinfachen ich habe eine pd.series gemacht:

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

Was ich tun müssen, um die Lücken zwischen den Indizes von lista2 mit den Elementen auf der Liste zu füllen, also muss ich aus der Reihe 0 bis 22'hola ", von 22 bis 76" salut ", und so weiter. Die Gesamtlänge der Serie muss 88 sein.

Ich hoffe ihr könnt mich alle gut verstehen und danke im Voraus!

Antwort

3

Versuchen Sie folgendes:

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

Das scheint zu funktionieren, lassen Sie mich auf meinem realen Programm testen. Vielen Dank!! Ja, das funktioniert definitiv. Danke noch einmal!! –

+0

Entschuldigung, ich habe es einfach vergessen !! @MaxU –