Der Zugriff auf 1. element der Pandas DataFrame Spalte mit Listen
Habe ich ein Pandas DataFrame mit einer Spalte, in der Listen-Objekte
A
0 [1,2]
1 [3,4]
2 [8,9]
3 [2,6]
Wie kann ich Zugriff auf das erste element jeder Liste, und speichern Sie es in eine neue Spalte der DataFrame? Um ein Ergebnis zu bekommen wie diese:
A new_col
0 [1,2] 1
1 [3,4] 3
2 [8,9] 8
3 [2,6] 2
Ich weiß, das getan werden könnte, über die Iteration über jede Zeile, aber es ist eine "pythonic" Weg?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
map
und einlambda
FunktionWie immer, denken Sie daran, dass die Speicherung von nicht-Skalare Objekte in frames ist generell disfavoured, und sollte wirklich nur verwendet werden, als temporären Zwischenschritt.
Das heißt, Sie können die
.str
accessor-auch wenn es sich nicht um eine Spalte mit strings:Verwenden
apply
mitx[0]
:Können Sie einfach eine bedingte Liste begreifen, das nimmt den ersten Wert jeder wiederholenden oder sonst verwendet Keiner für diese Position. Liste Verstehens sind sehr Pythonic.
Timings
Entfernen der Sicherheits-check ist die Gewährleistung eines interable.
hasattr(..., '__iter__')
ist nicht ein Magischer Liste Bezeichner, werde es auch für strings, z.B.hasattr('hello', '__iter__')
zurückTrue
, das kann nicht sein, was Sie wollen.