Python Pandas 删除指定列值或多列内容的几种方法

夏知夏
夏知夏
发布时间:2026-10-11| 2人浏览过
原创

本文介绍在 Python Pandas 中删除指定列值或多列内容的几种方法。通过 Series 的 isin 反函数(使用 - 号)处理大批量数据,利用 != 比较运算符处理少量指定内容,以及结合 dropna() 处理 DataFrame 的多条件删除。

使用 Series 的 isin 反函数删除指定列部分元素

在 Pandas 中,Series 提供了 isin() 方法用于判断元素是否包含在指定列表中。虽然 Pandas 没有直接的 isnotin() 函数,但可以通过取反操作实现“不包含”的逻辑。这种方法非常适合处理大批量数据的删除操作。

首先,我们创建一个示例 DataFrame:

import pandas as pd
import numpy as np
data=pd.DataFrame(np.random.randint(10,size=(5,3)),columns=['a','b','c'])
print(data)

输出结果如下:

   a  b  c
0  3  8  2
1  9  9  5
2  4  5  1
3  2  7  5
4  1  2  8

删除指定列中的单个值

要删除列 'c' 中值为 1 的行,可以使用 -data['c'].isin([1]):

print(data['c'][data['c'].isin([1])])
# 输出: 2    1
# Name: c, dtype: int64

print(data['c'][-data['c'].isin([1])])
# 输出:
# 0    2
# 1    5
# 3    5
# 4    8
# Name: c, dtype: int64

删除指定列中的多个值

同样地,可以删除列 'c' 中值为 1 或 2 的行:

print(data['c'][-data['c'].isin([1,2])])
# 输出:
# 1    5
# 3    5
# 4    8
# Name: c, dtype: int64

使用 != 比较运算符删除少量指定内容

对于少量指定内容的删除,使用 != 比较运算符更为直观。这种方法也适用于同时满足多个条件的情况。

删除指定列中的单个值

print(data['c'][data['c']!=1])
# 输出:
# 0    2
# 1    5
# 3    5
# 4    8
# Name: c, dtype: int64

删除指定列中的多个值

要同时删除列 'c' 中值为 1 和 2 的行,可以使用逻辑与 &:

print(data['c'][(data['c']!=1)&(data['c']!=2)])
# 输出:
# 1    5
# 3    5
# 4    8
# Name: c, dtype: int64

DataFrame 场景下使用 != 比较运算符

在 DataFrame 场景下,可以使用 != 比较运算符来删除满足特定条件的行。例如,删除列 'a' 不等于 1 且列 'c' 不等于 2 的行:

print(data[(data['a']!=1)&(data['c']!=2)])
# 输出:
#    a  b  c
# 1  9  9  5
# 2  4  5  1
# 3  2  7  5

处理多条件删除时的 NaN 问题

当直接使用 -data.isin([1,2]) 操作 DataFrame 时,可能会出现 NaN 值。此时,可以结合 dropna() 方法来删除空值:

print(data[-data.isin([1,2])].dropna())
# 输出:
#    a  b  c
# 1  9  9  5

同样,使用 != 比较运算符时,也可以结合 dropna() 来删除空值:

print(data[(data!=1)&(data!=2)].dropna())
# 输出:
#    a  b  c
# 1  9  9  5

总结

本文介绍了在 Python Pandas 中删除指定列值或多列内容的几种方法。通过 Series 的 isin 反函数(使用 - 号)处理大批量数据,利用 != 比较运算符处理少量指定内容,以及结合 dropna() 处理 DataFrame 的多条件删除。这些方法可以帮助开发者更高效地处理数据清洗任务。

以上就是 Python Pandas 删除指定列值或多列内容的详细内容,更多关于 Python Pandas 数据清洗的资料请关注本站其它相关文章!

相关标签:

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

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 算法库。