Apa adalah cara yang paling efisien untuk membuat sebuah kamus dari dua panda Dataframe kolom?
Apa adalah cara yang paling efisien untuk mengatur berikut panda Dataframe:
data =
Position Letter
1 a
2 b
3 c
4 d
5 e
dalam kamus seperti alphabet[1 : 'a', 2 : 'b', 3 : 'c', 4 : 'd', 5 : 'e']
?
100
4
Kecepatan comparion (menggunakan Wouter's metode)
Saya menemukan cara yang lebih cepat untuk memecahkan masalah, setidaknya pada realistis dataset besar menggunakan:
df.set_index(KEY).to_dict()[NILAI]
Bukti pada 50.000 baris:
Output:
TL;DR
Di Panjang
Menjelaskan solusi:
dict(diurutkan(df.nilai-nilai.kedaftar()))
Mengingat:
[keluar]:
Coba:
[keluar]:
Kemudian opsional:
Atau:
[keluar]:
Terakhir, cast daftar daftar dari 2 elemen menjadi sebuah dict.
[keluar]:
Terkait
Menjawab @sbradbio komentar:
Jika ada beberapa nilai untuk kunci tertentu dan anda ingin menjaga mereka semua, it's bukan yang paling efisien akan tetapi cara yang paling intuitif adalah:
[keluar]:
Di Python 3.6 cara tercepat masih WouterOvermeire satu. Kikohs' proposal lebih lambat dari yang lain dua pilihan.
Hasil: