Welche Methode ist besser (in Bezug auf Leistung und Zuverlässigkeit) zu verwenden, um einzelne Zellen aus einem Pandas DataFrame
zu holen: get_value() oder loc []?Wie man einzelne Zellen in Pandas richtig holt: loc [Index, Spalte] VS get_value (Index, Spalte)
Antwort
Sie können Informationen in docs am Ende finden:
für einen Wert explizit bekommen (equiv zu veraltet df.get_value ('a', 'A'))
# this is also equivalent to ``df1.at['a','A']``
In [55]: df1.loc['a', 'A']
Out[55]: 0.13200317033032932
aber wenn es benutzt wird, gibt es keine Warnung.
Aber wenn Check Index.get_value
:
schnelles Nachschlagen von Wert von 1-dimensionalen ndarray. Nur diese verwenden, wenn Sie wissen, was Sie tun
Also ich denke, besser nutzen iat
, at
, loc
, ix
.
Timings:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9],
'D':[1,3,5],
'E':[5,3,6],
'F':[7,4,3]})
print (df)
In [93]: %timeit (df.loc[0, 'A'])
The slowest run took 6.40 times longer than the fastest. This could mean that an intermediate result is being cached.
10000 loops, best of 3: 177 µs per loop
In [96]: %timeit (df.at[0, 'A'])
The slowest run took 17.01 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 7.61 µs per loop
In [94]: %timeit (df.get_value(0, 'A'))
The slowest run took 23.49 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 3.36 µs per loop
ich in docs über 'veraltet get_value diesen Satz nicht verstehen()' ... Pandas selbst verwendet ' get_value() 'intern - https://github.com/pandas-dev/pandas/blob/master/pandas/core/indexing.py#L77 – MaxU
Ja, gute Frage - vielleicht Tippfehler in der Dokumentation? Ich habe keine Ahnung. – jezrael
Um den Unterschied zwischen iat/iloc, at/loc und ix zu sehen, siehe [diese Frage] (http://stackoverflow.com/questions/31593201/pandas-iloc-vs-ix-vs-loc-explanation) –
- 1. Python Pandas - Datum Spalte zu Spalte Index
- 2. Split Schwenkbarer Index Spalte Pandas
- 3. Pandas Dataframe - Multilevel-Index/Spalte
- 4. convert Index Spalte Pandas Dataframe
- 5. Set Multi Spalte Index in Pandas
- 6. Gruppe von Index + Spalte in Pandas
- 7. Upsampling Dataframe in Pandas mit Index + Spalte
- 8. pandas loc modifiziert dataFrame mit multi index?
- 9. Wie man einen Pandas DataFrame Eintrag eincheckt von (Index, Spalte)
- 10. Können Pandas die Spalte als Index verwenden?
- 11. Set Index sortieren bestimmte Spalte Pandas
- 12. Wie Pandas-Index in einem Datenfeld in eine Spalte konvertieren?
- 13. Alter Clustered-Index-Spalte
- 14. einen Index für eine Spalte erstellen Vs einen Index für eine Cluster-Spalte
- 15. Pandas Series float index
- 16. erhalten Dataframe Spalte Index
- 17. Abfrage Leistung: einzelne Spalte vs multiple Spalte
- 18. mehrspaltige Index Spalte Reihenfolge
- 19. Probleme mit der Berechnung der linearen Regression für einzelne Zellen in einer Spalte in Pandas
- 20. Multipliziert man mehrere Spalten mit derselben einzigen Spalte in einer Spalte Multi-Index Pandas
- 21. Merge für eine Spalte und Index in Pandas
- 22. .loc Indizierung in Pandas-Python
- 23. Wie man richtig einen Index
- 24. Pass Spalte Index und Bereich gleichzeitig in Pandas iloc
- 25. pandas groupby ohne Drehen gruppiert nach Spalte in Index
- 26. Anfügen von Ebene zu Spalte Index in Python Pandas
- 27. Sortieren nach Spalte innerhalb multi Index-Ebene in Pandas
- 28. Abrufen des Namens der Spalte aus ihrem Index in Pandas
- 29. Verwenden von Pandas zum "applymap" mit Zugriff auf Index/Spalte?
- 30. SQL-Index für geänderte Spalte
'get_value()' - wird schneller und besser geeignet – MaxU