我有一个熊猫数据框,如下所示:
col1 col2
0 a 11
1 b 12
2 b 13
3 a 14
4 a 15
,我想将其转换为类似于
的列表myList = {'a':['11','14','15'],'b':['12','13']}
请提出建议该怎么做?
答案 0 :(得分:3)
按第一列分组,将第二列的值收集到列表中,然后将结果转换为字典:
df.groupby('col1')['col2'].apply(list).to_dict()
#{'a': ['11', '14', '15'], 'b': ['12', '13']}
答案 1 :(得分:0)
来自itertools
import itertools
l=df.sort_values('col1').values.tolist()
{k: [x[1] for x in g] for k, g in itertools.groupby(l,lambda x : x[0])}
{'a': [11, 14, 15], 'b': [12, 13]}