pandas求反交集
时间: 2023-11-11 19:00:44 浏览: 77
pandas求两个表格不相交的集合方法
可以使用 pandas 的 `merge` 方法来求反交集。具体步骤如下:
1. 将两个 DataFrame 进行合并,使用 `how='outer'` 参数表示取并集。
2. 使用 `indicator=True` 参数来添加一个 `_merge` 列,该列记录了每个元素在哪个 DataFrame 中出现过。
3. 使用 `query` 方法来筛选出 `_merge` 列中只在左边 DataFrame 中出现过的元素。
下面是示例代码:
```python
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
df2 = pd.DataFrame({'A': [2, 3, 4], 'B': ['b', 'c', 'd']})
# 求反交集
merged = pd.merge(df1, df2, on=['A', 'B'], how='outer', indicator=True)
result = merged.query("_merge == 'left_only'").drop('_merge', axis=1)
print(result)
```
输出结果为:
```
A B
0 1 a
```
阅读全文