两个dataframe求差集
时间: 2023-11-18 08:49:23 浏览: 163
回答: 要求两个DataFrame的差集,可以使用Pandas的merge()函数。首先,使用merge()函数将两个DataFrame按照指定的列进行合并,然后使用drop_duplicates()函数去除重复的行,最后使用isin()函数找到不在另一个DataFrame中的行。具体代码如下:
```python
diff_df = pd.merge(df1, df2, how='outer', indicator=True).query('_merge == "left_only"').drop_duplicates()
```
这段代码将df1和df2按照默认的列进行合并,并添加了一个名为"_merge"的列,表示每行的合并情况。然后使用query()函数找到"_merge"列中值为"left_only"的行,即df1中不在df2中的行。最后使用drop_duplicates()函数去除重复的行,得到两个DataFrame的差集。
#### 引用[.reference_title]
- *1* *3* [【Python】DataFrame差集/交集/并集求解](https://blog.csdn.net/fengdu78/article/details/125827394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Pandas求两个dataframe差集 详解](https://blog.csdn.net/guoyc439/article/details/124165334)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文