Apa cara paling efisien untuk mengatur panda Dataframe berikut:
data =
Position Letter
1 a
2 b
3 c
4 d
5 e
seperti kamus alphabet[1 : 'a', 2 : 'b', 3 : 'c', 4 : 'd', 5 : 'e']
?
python
dictionary
pandas
dataframe
pengguna1083734
sumber
sumber
izip
, bukanzip
; Generator membuat perbedaan saya kiraSaya menemukan cara yang lebih cepat untuk menyelesaikan masalah, setidaknya pada dataset besar yang realistis menggunakan:
df.set_index(KEY).to_dict()[VALUE]
Bukti pada 50.000 baris:
Keluaran:
sumber
Dalam Python 3.6 cara tercepat masih yang WouterOvermeire. Proposal Kikoh lebih lambat dari dua opsi lainnya.
Hasil:
sumber
TL; DR
Dalam Long
Menjelaskan solusi:
dict(sorted(df.values.tolist()))
Diberikan:
[di luar]:
Mencoba:
[di luar]:
Kemudian secara opsional:
Atau:
[di luar]:
Terakhir, masukkan daftar 2 elemen ke dalam dict.
[di luar]:
Terkait
Menjawab komentar @sbradbio:
Jika ada beberapa nilai untuk kunci tertentu dan Anda ingin menyimpan semuanya, itu bukan yang paling efisien tetapi cara yang paling intuitif adalah:
[di luar]:
sumber
{'key': [value1, value2]}