I eine pandas Datenrahmen aufweisen, in der eine Spalte enthält 1-D numpy Arrays und eine weitere enthält Skalar-Daten für Beispiel:Zugriff Arrays in pandas gespeicherten Datenrahmen
df =
A B
0 x [0, 1, 2]
1 y [0, 1, 2]
2 z [0, 1, 2]
Ich möchte, B für die Zeile A=='x'
wo so erhalten ich habe versucht, df[df.A == 'x'].B.values
das gibt mir die Ausgabe:
array([array([0, 1, 2])], dtype=object)
Der Ausgang verfügt über eine extra array([])
um ihn herum. Ich bekomme, dass Pandas es wie ein Objekt behandelt und nicht nur Daten, und ich habe eine Möglichkeit, auf das Array zuzugreifen, indem Sie stattdessen df[df.A == 'x'].B.values[0]
verwenden. Im Fall von skalaren Daten kann ich einfach die Syntax df[df.A == 'x'].B
verwenden, die viel sauberer ist als die df[df.A == 'x'].B.values[0]
, die ich verwenden muss.
Meine Frage ist: Gibt es einen besseren/saubereren/kürzeren Weg, um auf die Daten in dem Format zuzugreifen, in dem ich es eingefügt habe? Oder ist das nur etwas, mit dem ich leben muss?
oder Sie verwenden können ... 'df [df.A == 10] .B.item()' – Wen