将熊猫数据框转换为字典

时间:2019-08-13 11:11:53

标签: python pandas dataframe dictionary

在将pandas数据框转换为字典时,如何将所有不同的值附加到列表中? 参考:Convert a Pandas DataFrame to a dictionary

此问题的答案指定了解决方案,但它提供了以下输出:

df = pd.DataFrame({'a': ['red', 'yellow', 'blue', 'red'], 'b': [0.5, 0.25, 0.125, 0.9]})
>>> df.set_index('a').T.to_dict('list')
{'red': [0.9], 'yellow': [0.25], 'blue': [0.125]}

预期输出:

{'red': [0.5,0.9], 'yellow': [0.25], 'blue': [0.125]}

1 个答案:

答案 0 :(得分:2)

DataFrame.groupbylistSeries.to_dict一起使用:

print (df.groupby('a')['b'].apply(list).to_dict())
{'blue': [0.125], 'red': [0.5, 0.9], 'yellow': [0.25]}