3 votes

Pandas Dataframe vers dictionnaire groupby index

J'ai un cadre de données avec 3 colonnes, toutes ayant des valeurs de chaîne. Le dataframe est de cette forme :

Key Word    Synonym    Alternatives
   A          word1         NaN
   A          word2         NaN
   A          word3         word11
   B          word4         word12
   B          word5         NaN 
   B          word6         word13
   C          word7         word14
   C          word8         NaN
   C          word9         NaN
   D          word10        word15

Ce que je veux, c'est le convertir en un dictionnaire, qui sera groupé sur la base de l'indice d'accessibilité. Key Word et, pour chaque mot-clé, de renvoyer tous les synonymes et synonymes alternatifs correspondants. Ainsi, toutes les valeurs de A se référeront aux valeurs correspondantes qui existent dans le fichier Synonym y Alternatives pour A etc. Existe-t-il un moyen de le faire ? Merci d'avance.

6voto

jezrael Points 290608

Je pense que vous avez besoin stack pour la baisse NaN et ensuite groupby con list . Dernier appel to_dict :

d = df.set_index('Key').stack().groupby('Key').apply(list).to_dict()
print (d)
{'B': ['word4', 'word12', 'word5', 'word6', 'word13'], 
 'D': ['word10', 'word15'], 
 'C': ['word7', 'word14', 'word8', 'word9'], 
 'A': ['word1', 'word2', 'word3', 'word11']}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X