Pandas DataFrame数据删除详解:drop与del方法实战

陈默
陈默
发布时间:2026-10-14| 6人浏览过
原创

本文详解Pandas中DataFrame的数据删除操作,重点讲解drop和del两种方法。通过默认索引和自定义索引两种场景,演示单行、多行及连续列的删除代码与结果,帮助开发者掌握高效的数据清洗技巧。

本文主要介绍在Pandas库中处理DataFrame对象时的数据删除操作,核心方法包括使用drop函数和del语句。


# drop函数的参数解释
drop(
        self,
        labels=None, # 就是要删除的行列的标签,用列表给定;
        axis=0, # axis是指处哪一个轴,0为行(默认),1为列;
        index=None, # index是指某一行或者多行
        columns=None, # columns是指某一列或者多列
        level=None, # level是指等级,针对多重索引的情况;
        inplace=False, # inplaces是否替换原来的dataframe;
        errors="raise",
)
axis=0或者 和 index或columns 指定行列只需要使用一组就行

1. 基于默认行列索引的删除操作

首先准备示例数据,生成一个5行5列的随机DataFrame。


import numpy as np
import pandas as pd
# 生成随机数组-5行5列
df = pd.DataFrame(np.random.rand(5,5))
print(df)

具体数据展示如下:


          0         1         2         3         4
0  0.760489  0.074633  0.788416  0.087612  0.560539
1  0.758450  0.599777  0.384075  0.525483  0.628910
2  0.386808  0.148106  0.742207  0.452627  0.775963
3  0.662909  0.134640  0.186186  0.735429  0.459556
4  0.328694  0.269088  0.331404  0.835388  0.899107

1.1 行数据删除

[1] 删除单行操作


# 删除单行,删除第2行
df.drop(df.index[1],inplace=True) # inplace=True 原地修改
print(df)

执行上述代码后的输出结果为:

0 1 2 3 4 0 0.605764 0.234973 0.566346 0.598105 0.478153 2 0.383230 0.822174 0.228855 0.743258 0.076701 3 0.875287 0.576668 0.176982 0.341827 0.112582 4 0.205425 0.898544 0.799174 0.000905 0.377990

[2] 删除不连续的多行数据


# 删除不连续多行,删除第2和第4行
df.drop(df.index[[1,3]],inplace=True)
print(df)

执行代码后的结果如下:

0 1 2 3 4 0 0.978612 0.556539 0.781362 0.547527 0.706686 2 0.845822 0.321716 0.444176 0.053915 0.296631 4 0.617735 0.040859 0.129235 0.525116 0.005357

[3] 删除连续的多行数据


# 删除连续多行
df.drop(df.index[1:3],inplace=True) # 开区间,最后一个索引号不计算在内
print(df)

执行代码后的结果如下:

0 1 2 3 4 0 0.072891 0.926297 0.882265 0.971368 0.567840 3 0.163212 0.546069 0.360990 0.494274 0.065744 4 0.752917 0.242112 0.526675 0.918713 0.320725

1.2 列数据删除

列的删除可以通过del关键字或drop函数实现。例如使用`del df[1]`可以删除第2列,这是一种原地删除操作。本文重点讲解使用drop函数进行列删除的方法。

[1] 删除指定的列


df.drop([1,3],axis=1,inplace=True) # 指定轴为列
# df.drop(columns=[1,3],inplace=True) # 直接指定列

执行代码后的结果如下:

0 2 4 0 0.592869 0.123369 0.815126 1 0.127064 0.093994 0.332790 2 0.411560 0.118753 0.143854 3 0.965317 0.267740 0.349927 4 0.688604 0.699658 0.932645

[2] 删除连续的列


df.drop(df.columns[1:3],axis=1,inplace=True) #指定轴
# df.drop(columns=df.columns[1:3],inplace = True) # 指定列
print(df)

执行代码后的结果如下:

0 3 4 0 0.309674 0.974694 0.660285 1 0.677328 0.969440 0.953452 2 0.954114 0.953569 0.959771 3 0.365643 0.417065 0.951372 4 0.733081 0.880914 0.804032

2. 基于自定义行列索引的删除操作

接下来使用自定义索引的示例数据进行演示。


df = pd.DataFrame(data=np.random.rand(5,5))
df.index = list('abcde')
df.columns = list('一二三四五')
print(df)

具体数据展示如下:


          一         二         三         四         五
a  0.188495  0.574422  0.530326  0.842489  0.474946
b  0.912522  0.982093  0.964031  0.498638  0.826693
c  0.580789  0.013957  0.515229  0.795052  0.859267
d  0.540641  0.865602  0.305256  0.552566  0.754791
e  0.375407  0.236118  0.129210  0.711744  0.067356

2.1 行数据删除

[1] 删除单行操作


df.drop(['b'],inplace=True)
print(df)

执行代码后的结果如下:

一 二 三 四 五 a 0.306350 0.622067 0.030573 0.490563 0.009987 c 0.672423 0.071661 0.274529 0.400086 0.263024 d 0.654204 0.809087 0.066099 0.167290 0.534452 e 0.628917 0.232629 0.070167 0.469962 0.957898

[2] 删除多行操作


df.drop(['b','d'],inplace=True)
print(df)

执行代码后的结果如下:

一 二 三 四 五 a 0.391583 0.509862 0.924634 0.466563 0.058414 c 0.802016 0.621347 0.659215 0.575728 0.935811 e 0.223372 0.286116 0.130587 0.113544 0.910859

2.2 列数据删除

[1] 删除单列操作


df.drop(['二'],axis=1,inplace=True)# 删除单列
print(df)

执行代码后的结果如下:

一 三 四 五 a 0.276147 0.797404 0.184472 0.081162 b 0.630190 0.328055 0.428668 0.168491 c 0.979958 0.029032 0.934626 0.106805 d 0.762995 0.003134 0.136252 0.317423 e 0.137211 0.116607 0.367742 0.840080

[2] 删除多列操作


df.drop(['二','四'],axis=1,inplace=True) # 删除多列
# df.drop(columns=['二','四'],inplace=True) # 删除多列
print(df)

执行代码后的结果如下:

一 三 五 a 0.665647 0.709243 0.019711 b 0.920729 0.995913 0.490998 c 0.352816 0.185802 0.406174 d 0.136414 0.563546 0.762806 e 0.259710 0.775422 0.794880

至此,关于Pandas中DataFrame数据删除的详细介绍已完成。如需了解更多关于Pandas中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 算法库。