我有两个 DataFrame,其中一个包含一列,其单元格内包含列表。这是一个例子:
DF 1 :
| A B
---+----------------------------
0 | 'A' ['A', 'B']
1 | 'B' ['B', 'D']
2 | 'C' ['D', 'E', 'F']
DF 2 :
| C D
---+----------------------------
0 | 'A' 'X'
1 | 'B' 'Y'
2 | 'C' 'Z'
这是设置 DataFrame 的代码:
df1 = pd.DataFrame({'A': ["A", "B", "C"], "B": [["A", "B"], ["B", "D"], ["D", "E", "F"]]})
df2 = pd.DataFrame({'C': ["A", "B", "C"], "D": ["X", "Y", "Z"]})
我想在 DF1 和 DF2 之间进行内部联接,条件如下DF2.C in DF1.B
,这是我期望的结果:
DF1&DF2 :
| A B C D
---+--------------------------------------
0 | 'A' ['A', 'B'] 'A' 'X'
1 | 'A' ['A', 'B'] 'B' 'Y'
2 | 'B' ['B', 'D'] 'B' 'Y'
我读了文档 https://pandas.pydata.org/pandas-docs/stable/merging.html解释如何使用来实现连接concat
,但我找不到如何使用成员资格测试作为加入条件。
我错过了什么吗?关于如何做有什么想法吗?