我已经使用pandas合并了两个csv文件,并使用以下方法将合并后的输出保存在merged
变量中:
merged= pd.merge(f1,f2,on='name',how='inner')
此merged
有大约10列,我想从中选择两个colmuns - 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的合并输出中过滤掉两列,并从上面的格式形成这两列的列表列表?
答案 0 :(得分:0)
我从未直接使用过pandas,但假设访问列的输出是list
,这应该可行:
listoflists = [[n]+t.split(',') for n,t in zip(merged.name,merged.type)]
zip
输出几乎所需的元组列表,除非您需要将字符串从type
拆分,如果它们包含多个项目。
对于该列表中的每个元组,外部列表解析将名称值n
元组包装在列表中,在任何t
上拆分类型字符串,
({{的输出1}}是一个列表,这就是str.split
被包装的原因),并将这两个列表加在一起。