如何将熊猫DataFrame的行合并到列表中并将此DataFrame转换成dict

时间:2018-07-07 15:13:18

标签: python pandas

我有一个DataFrame

  col1  col2
 0  a   1
 1  b   2
 2  c   3
 3  a   4
 4  b   5

我希望将其转换如下:

   col1  col2
0   a   [1, 4]
1   b   [2, 5]
2   c   [3]

因此col1的相似元素是唯一的,并且col2的对应值被合并到列表中。

那是第一部分。第二个是:如何将此DataFrame导出到python dict中?

因此,我希望拥有以下dict

{'a': ['1', '4'], 'b': ['2', '5'], 'c': ['3']}

1 个答案:

答案 0 :(得分:4)

合并值:

df.groupby('col1').col2.apply(list)
#col1
#a    [1, 4]
#b    [2, 5]
#c       [3]
#Name: col2, dtype: object

转换为字典:

df.groupby('col1').col2.apply(list).to_dict()
# {'a': [1, 4], 'b': [2, 5], 'c': [3]}