[英]how to pick multiple columns from pandas df and store it in another df?
[英]Pandas: Map DF with multiple columns to another
我正在尝试找出将 map df2
转换为df1
的有效方法。 让这有点棘手的是, key有时可能是 2+ keys
的元组。
df1 = {'Index':[1,2,3,4,5,6,7,8],'key':[a,a,b,(a,c),c,(a,b,c),b,a]}
df2 = {'Index':[a,b,c],'Val1':[1,2,3],'Val2':[.1,.2,.3],'Val3':[10,20,30],'Val4':[1,2,3],'Val5':[2,4,6]}
基本上,我正在尝试 map df2
(通过Index )到df1
中的键。 最终结果将有columns = [key, Val1, Val2, Val3, Val4, Val5]
,并且在type(key) == tuple
的结果中,我想要 2+ 个匹配的 Vals 的元组。
任何帮助表示赞赏! 谢谢!
由于您在谈论数据类型,我认为您正在尝试加入/合并 (a,b,c) 变量并得到错误:
类型错误:不可散列类型:“列表”
如果我是对的,您应该构建一个字典 {index:value},索引 = 整数和值 = 对象的元组。 然后,替换,执行您的加入/合并/任何操作,然后再次替换。
考虑到 pandas.replace 会因“奇怪”数据类型而失败,您将需要一个字典并为每种数据类型过滤 dataframe。
这是一个通用问题的通用答案。 要获得准确的答案,请至少指定 (a,b,c) 数据类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.