我使用pandas合并了两个csv文件,并使用以下命令将合并后的输出保存在merged
变量中:
merged= pd.merge(f1,f2,on='name',how='inner')
这个merged
大约有10列,我想从中选择两个列- name
和type
,并形成一个list of lists
,它的输出应该类似于以下格式:
[['Bread', 'Milk'],
['Bread', 'Diapers', 'Beer', 'Eggs'],
['Milk', 'Diapers', 'Beer', 'Coke'],
['Bread', 'Milk', 'Diapers', 'Beer'],
['Bread', 'Milk', 'Diapers', 'Coke']]
在这里,每个内部列表中的第一个值应该是name
,后面是type
的值,可以是倍数,在这种情况下,它们都用,
分隔。
我不知道如何从合并输出的pandas merge上面过滤出这两列,并形成列表列表,就像上面的格式一样。
发布于 2014-11-26 14:24:32
我从未直接使用pandas,但是假设访问列的输出是一个list
,这应该是可行的:
listoflists = [[n]+t.split(',') for n,t in zip(merged.name,merged.type)]
该zip
输出的元组列表几乎就是您想要的,但如果字符串包含多个项目,则需要从type
中拆分它们。
对于该列表中的每个元组,外部列表理解将名称值n
元组包装在一个列表中,在任何,
上拆分类型字符串t
( str.split
的输出是一个列表,这就是n
被包装的原因),然后将这两个列表相加在一起。
https://stackoverflow.com/questions/27150415
复制相似问题