Wie füllt man Zeilen mit sich wiederholenden Daten in Pandas?

8

In R, wenn neue Daten von ungleicher Länge zu einem Datenrahmen hinzugefügt werden, wiederholen sich die Werte, um den Datenrahmen zu füllen:

%Vor%

ergibt:

%Vor%

Pandas erfordern jedoch gleiche Indexlängen.

Wie kann ich die wiederholten Daten in Pandas "ausfüllen" wie ich in R?

    
Amyunimus 11.01.2014, 22:57
quelle

5 Antworten

5

Scheint, dass es keinen eleganten Weg gibt. Dies ist die Problemumgehung, die ich gerade herausgefunden habe. Im Grunde erstellen Sie eine Wiederholungsliste, die nur größer ist als der ursprüngliche Datenrahmen, und dann verbinden Sie sie.

%Vor%     
Yeqing Zhang 11.01.2014, 23:43
quelle
3

Die Zyklusmethode von itertools eignet sich gut zum Wiederholen eines gemeinsamen Musters.

%Vor%     
Meow 18.04.2016 03:18
quelle
2

Wie allgemein für eine Lösung suchen Sie? Ich habe versucht, dies etwas weniger hart-codiert zu machen:

%Vor%     
Paul H 11.01.2014 23:00
quelle
2
%Vor%

ergibt

%Vor%

Nicht besonders schön, aber ein "Feature", das es besitzt, ist, dass Sie sich keine Sorgen machen müssen, wenn die Länge des DataFrames ein Vielfaches der Länge der wiederholten Werte ist. np.put wiederholt die Werte nach Bedarf.

Meine erste Antwort war:

%Vor%

aber es stellt sich heraus, dass dies deutlich langsamer ist:

%Vor%     
unutbu 12.01.2014 01:42
quelle
0

In meinem Fall musste ich die Werte wiederholen, ohne die Länge der Unterliste zu kennen, d. h. die Länge jeder Gruppe zu überprüfen. Das war meine Lösung:

%Vor%     
Daniele 15.10.2014 13:47
quelle

Tags und Links