Pandas Dataframe到字典groupby索引

时间:2017-09-19 11:54:54

标签: python pandas dictionary dataframe

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

.parents('[data-link]') //<-- string denoting attribute

我想要的是将其转换为字典,该字典将根据.parents(['data-link']) //<-- array containing string 列进行分组,并为每个key_word返回所有相应的同义词和替代同义词。因此,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中存在的相应值以及A中的Synonym等。有没有办法执行此操作?提前谢谢。

1 个答案:

答案 0 :(得分:6)

我认为您需要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']}