Quel est le moyen le plus efficace pour créer un dictionnaire des deux pandas Dataframe colonnes?
Quel est le moyen le plus efficace pour organiser la suite de pandas Dataframe:
de données =
Position Letter
1 a
2 b
3 c
4 d
5 e
dans un dictionnaire comme alphabet[1 : 'a', 2 : 'b', 3 : 'c', 4 : 'd', 5 : 'e']
?
Vous devez vous connecter pour publier un commentaire.
Vitesse comparion (à l'aide de Wouter de la méthode)
izip
, plutôt que dezip
; générateur qui fait la différence je penseJ'ai trouvé un moyen plus rapide pour résoudre le problème, au moins de façon réaliste les grands ensembles de données en utilisant:
df.set_index(KEY).to_dict()[VALUE]
Preuve sur 50 000 lignes:
De sortie:
TL;DR
À Long
Expliquant solution:
dict(sorted(df.values.tolist()))
Donné:
[out]:
Essayer:
[out]:
Puis en option:
Ou:
[out]:
Enfin, la fonte de la liste de liste de 2 éléments dans un dict.
[out]:
Liées
Réponse @sbradbio commentaire:
Si il y a plusieurs valeurs pour une clé spécifique et que vous souhaitez garder tous d'entre eux, c'est le pas le plus efficace mais la façon la plus intuitive est:
[out]:
{'key': [value1, value2]}
En Python 3.6 le moyen le plus rapide est encore de la WouterOvermeire un. Kikohs proposition est plus lent que les deux autres options.
Résultats: