pandas DataFrame 删除行或列的方法详解

花开有时
花开有时
发布时间:2026-10-13| 7人浏览过
原创

本文详细介绍如何使用 pandas 的 drop 函数删除 DataFrame 中的指定行或列。通过设置 axis 参数区分操作对象,并重点讲解 inplace 参数在原地修改数据时的应用,同时提及不同 pandas 版本中参数用法的差异及注意事项。

pandas DataFrame 删除行或列的方法详解

本文继续探讨 DataFrame 的相关操作。

在实际使用 DataFrame 时,删除操作的使用频率相对较低,通常的做法是从源 DataFrame 中筛选出所需数据,构建一个新的 DataFrame 再进行后续处理。

删除 DataFrame 的某一列

1. 删除 DataFrame 的某一列

这里我们沿用上一节生成的 DataFrame 作为示例,原始数据如下:

我们使用 drop() 函数,该函数接收一个列表参数 labels,书写时可以选择显式指定 labels=[xxx],也可以省略。列表中列出需要删除的行或列的名称,默认情况下针对行名进行删除。若需删除列,则需额外添加参数 axis=1,具体操作如下:


#pd.__version__ =='0.18.0'
#drop columns
test_dict_df.drop(['id'],axis=1)
#test_dict_df.drop(columns=['id']) # official operation, maybe my pandas version needs update!

执行结果如上所示。对于上述代码,官方教程文档中提到了 columns=['name'] 的写法,但在我的测试环境中(Python 3,pandas 0.18 版本)会报错,这可能是因为使用的 pandas 版本较旧所致。

需要注意的是,此处输出的结果是执行该方法后的返回值,而非 test_dict_df 的内容。这是因为该方法默认并不在原 DataFrame 上直接执行操作,此时输出 test_dict_df 仍然显示未进行删除操作前的原始 DataFrame。若希望直接在原 DataFrame 上进行修改,需要添加 inplace=True 参数,这等同于执行操作后再将结果赋值给原变量:


test_dict_df.drop(['id'],axis=1,inplace=True)
# test_dict_df = test_dict_df.drop(['id'],axis=1)

删除 DataFrame 的某一行

2. 删除 DataFrame 的某一行

删除某一行在之前删除列的操作中已有提及。如果不指定 axis=1,则默认按行号进行删除。例如,要删除第 0 行和第 4 行:


test_dict_df.drop([0,4])

同样地,若要在源 DataFrame 上直接进行修改,必须加上 inplace 参数,否则 test_dict_df 不会发生任何改变。

此外,如果你的 DataFrame 包含多级索引,还可以使用 level 参数,此处不再赘述。

以上就是本文的全部内容,希望对各位的学习有所帮助,也欢迎大家多多支持本站。

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

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