Was ist der effizienteste Weg, um die folgenden Pandas Dataframe zu organisieren:
Daten =
Position Letter
1 a
2 b
3 c
4 d
5 e
in ein Wörterbuch wie alphabet[1 : 'a', 2 : 'b', 3 : 'c', 4 : 'd', 5 : 'e']
?
python
dictionary
pandas
dataframe
user1083734
quelle
quelle
izip
, dass sie eher mit als implementiert wirdzip
. Generator macht den Unterschied, denke ichIch habe einen schnelleren Weg gefunden, um das Problem zu lösen, zumindest bei realistisch großen Datenmengen mit:
df.set_index(KEY).to_dict()[VALUE]
Beweis auf 50.000 Zeilen:
Ausgabe:
quelle
In Python 3.6 ist der schnellste Weg immer noch der WouterOvermeire. Kikohs Vorschlag ist langsamer als die beiden anderen Optionen.
Ergebnisse:
quelle
TL; DR
In Long
Erklärende Lösung:
dict(sorted(df.values.tolist()))
Gegeben:
[aus]:
Versuchen:
[aus]:
Dann optional:
Oder:
[aus]:
Zuletzt wandeln Sie die Liste der 2 Elemente in ein Diktat um.
[aus]:
verbunden
Antwort auf @sbradbio Kommentar:
Wenn es für einen bestimmten Schlüssel mehrere Werte gibt und Sie alle behalten möchten, ist dies nicht der effizienteste, aber der intuitivste Weg:
[aus]:
quelle
{'key': [value1, value2]}