如何将pandas DataFrame的行合并为列表,并将此DataFrame转换为字典。

3

我有一个 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个回答

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]}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接