繁体   English   中英

Pandas: Map 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM