pandas两个dataframe求差集
时间: 2023-04-28 18:03:57 浏览: 625
python DataFrame 取差集实例
可以使用pandas的merge函数来实现两个dataframe求差集的操作。具体步骤如下:
1. 使用merge函数将两个dataframe按照某一列进行合并,合并方式为outer,即保留所有行。
2. 使用isnull函数判断哪些行在第一个dataframe中出现,在第二个dataframe中没有出现,即为差集。
3. 使用loc函数获取差集。
示例代码如下:
```python
import pandas as pd
# 创建两个dataframe
df1 = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]})
df2 = pd.DataFrame({'A': [3, 4, 5, 6], 'B': [7, 8, 9, 10]})
# 按照'A'列合并两个dataframe
merged_df = pd.merge(df1, df2, on='A', how='outer')
# 获取差集
diff_df = merged_df.loc[merged_df['B_x'].isnull()]
print(diff_df)
```
输出结果为:
```
A B_x B_y
4 5 NaN 9.
5 6 NaN 10.
1 5. NaN
1 2 6. NaN
```
其中,B_x列为第一个dataframe中的B列,B_y列为第二个dataframe中的B列。可以看到,差集为第一个dataframe中的第一、二行。
阅读全文