如何将数据帧转换为组合字典

问题描述 投票:0回答:1

我有一个数据框,我想转入字典。但问题是数据重复,我希望它结合起来。但是因为它是字典,最后一个值当然替换了相同键的值。代码例如。

df = 
example column a    example column b
a                       2
b                       3
a                       4
c                       5
a                       2
c                       3



my_dict = enzyme_gene.set_index('example column a')['example column b'].to_dict()

我得到my_dict = {'b: 3', 'a: 2', 'c: 3'}我想得到的是

my_desired_combined_dict = {'a: 2, 4, 2', 'b: 3', 'c: 5, 3'}
python pandas
1个回答
0
投票

您预期输出无效dictionary

如果需要dictionary of lists首先使用groupbylist

my_dict1 = enzyme_gene.groupby('example column a')['example column b'].apply(list).to_dict()
print (my_dict1)
{'a': [2, 4, 2], 'b': [3], 'c': [5, 3]}

groupbyjoin字符串:

my_dict2 = (enzyme_gene.groupby('example column a')['example column b']
                     .apply(lambda x: ', '.join(x.astype(str)))
                     .to_dict())
print (my_dict2)
{'a': '2, 4, 2', 'b': '3', 'c': '5, 3'}
© www.soinside.com 2019 - 2024. All rights reserved.