Python DataFrame 取差集:删除指定列中匹配列表元素的行

拾柒
拾柒
发布时间:2026-10-13| 3人浏览过
原创

本文介绍如何在 Python 的 DataFrame 中计算差集,即删除指定列中与给定列表元素重复的行。通过 isin 方法生成布尔掩码并取反,实现高效筛选,最后重置索引输出结果。

需求场景:给定一个 DataFrame 对象和一个列表,该列表包含 DataFrame 中某一列的部分元素。目标是删除 DataFrame 中与该列表元素重复的行,即计算并保留差集部分。

经搜索网络资源,未发现直接针对 DataFrame 取差集的现成方法,因此手动实现了一种解决方案。该方法步骤较为繁琐,若读者有更简便的实现方式,欢迎在评论区留言分享。

import pandas as pd
data = [[1,2,3],[2,3,4],[3,4,5],[4,5,6]]
# 创建dataframe,包含a,b,c三列
df = pd.DataFrame(data, columns=['a','b','c'])
print(df)
# a 列中待删除的元素
a_to_drop = [1, 3]
# 找到待删除元素所在的位置,返回的是 true or false 序列
flag = df['a'].isin(a_to_drop)
# 由于我们要取差集,因此对上述序列取反
diff_flag = [not f for f in flag]
# res 为我们所需要的差集
res = df[diff_flag]
# 重置index
res.index = [i for i in range(len(res))]
print(res)

以上关于 Python DataFrame 取差集的实例分享完毕,希望能为大家提供有效的参考。如果觉得有用,欢迎点赞并支持本站,感谢大家的支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。