【发布时间】:2020-04-03 10:43:03
【问题描述】:
我有两个数据框,例如:
dfa:
Name | ID | Amount
Bob V434 50.00
Jill B333 22.11
Hank B442 11.11
dfb:
Name | ID_First | ID_Second | ID_Third
Bob V434 E333 B442
Karen V434 E333 B442
Jill V434 E333 B442
Hank V434 E333 B442
我想将dfa加入dfb,但是dfa中的ID只对应dfb中的IDS之一。
有没有办法我可以在dfa 中将dfa 加入dfa 到dfb,所以基本上如果它匹配dfb 中的任何ID,那么我可以匹配来自dfa 的金额?
所需的输出只是:
Name | ID_First | ID_Second | ID_Third | Amount
Bob V434 E333 B442 50.00
Jill V434 E333 B442 22.11
Hank V434 E333 B442 11.11
基本上加入两个表中都存在的名称,但存在于dfa 中的ID 仅存在于dfb 之一下的ID_First,第二或第三列,因此匹配相同的数量名称和相同的 ID 值,但该 ID 值仅在 IDS 中的 dfb 之一中。
谢谢
【问题讨论】:
-
你能澄清一下你想要做什么吗?
-
添加所需的输出
-
55.00的数量来自哪里以及为什么Jill也没有在所需的输出中列出? -
我们假设名称是唯一的吗? ID 似乎不是唯一的,因此合并它们会有问题。另外,您是否只想在最终输出中从 dfa 中删除 ID 列?
-
是的,名字是唯一的,输出只是一个例子,而不是真实的确切数据
标签: python python-3.x pandas inner-join