首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过过滤python中panda.merge输出的列来形成列表

通过过滤python中panda.merge输出的列来形成列表
EN

Stack Overflow用户
提问于 2014-11-26 13:24:41
回答 1查看 55关注 0票数 0

我使用pandas合并了两个csv文件,并使用以下命令将合并后的输出保存在merged变量中:

代码语言:javascript
运行
AI代码解释
复制
merged= pd.merge(f1,f2,on='name',how='inner')

这个merged大约有10列,我想从中选择两个列- nametype,并形成一个list of lists,它的输出应该类似于以下格式:

代码语言:javascript
运行
AI代码解释
复制
         [['Bread', 'Milk'],
         ['Bread', 'Diapers', 'Beer', 'Eggs'],
         ['Milk', 'Diapers', 'Beer', 'Coke'],
         ['Bread', 'Milk', 'Diapers', 'Beer'],
         ['Bread', 'Milk', 'Diapers', 'Coke']]

在这里,每个内部列表中的第一个值应该是name,后面是type的值,可以是倍数,在这种情况下,它们都用,分隔。

我不知道如何从合并输出的pandas merge上面过滤出这两列,并形成列表列表,就像上面的格式一样。

EN

回答 1

Stack Overflow用户

发布于 2014-11-26 14:24:32

我从未直接使用pandas,但是假设访问列的输出是一个list,这应该是可行的:

代码语言:javascript
运行
AI代码解释
复制
listoflists = [[n]+t.split(',') for n,t in zip(merged.name,merged.type)]

zip输出的元组列表几乎就是您想要的,但如果字符串包含多个项目,则需要从type中拆分它们。

对于该列表中的每个元组,外部列表理解将名称值n元组包装在一个列表中,在任何,上拆分类型字符串t ( str.split的输出是一个列表,这就是n被包装的原因),然后将这两个列表相加在一起。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27150415

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文