将pandas数据框转换为键值对列表

时间:2018-12-21 03:02:56

标签: python pandas dataframe

我有一个熊猫数据框,如下所示:

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

请提出建议该怎么做?

2 个答案:

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