繁体   English   中英

Pandas Dataframe到字典groupby索引

[英]Pandas Dataframe to dictionary groupby index

我有一个包含3列的数据框,所有这些都有字符串值。 数据框具有以下形式:

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

我想要的是将它转换为字典,它将根据Key Word列进行分组,并为每个key_word返回所有相应的同义词和替代同义词。 因此, A所有值都SynonymA Alternatives中存在的相应值。有没有办法做到这一点? 先感谢您。

我认为你需要stack用于丢弃NaN ,然后groupby用于list 最后一次调用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']}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM