Python Pandas中dropna()函数详解:如何删除包含空值的行或列

Cora
Cora
发布时间:2026-10-14| 2人浏览过
原创

本文详细介绍Pandas中dropna()函数的用法,用于删除DataFrame中的缺失值。通过解析axis、how、thresh、subset及inplace等参数,演示按行或列删除包含空值的操作,包括设置子集判断区域和原地修改数据框的方法,帮助开发者高效处理数据清洗任务。

摘要与函数概述

摘要

dropna()方法用于识别DataFrame类型数据中的空值(即缺失值),并将包含这些空值的指定行或列删除,最终返回一个新的DataFrame对象。

函数详解

dropna函数参数详解

函数签名:dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

参数说明:

axis:指定操作的轴。值为0或'index'时,表示按行进行删除操作;值为1或'columns'时,表示按列进行删除操作。

how:指定筛选空值的条件。取值为'any'时,表示只要该行或列中存在任意一个空值,即执行删除;取值为'all'时,表示仅当该行或列的所有元素均为空值时,才执行删除。

thresh:非空元素数量的阈值。类型为int,默认为None。若指定该值,则当某行或列中非空元素的数量低于此阈值时,该行或列将被删除。

subset:指定参与判断的子集。类型为列表,包含行索引或列索引。当axis为0或'index'(按行删除)时,subset中的元素应为列索引,用于限定判断哪些列的空值触发删除;当axis为1或'columns'(按列删除)时,subset中的元素应为行索引,用于限定判断哪些行的空值触发删除。

inplace:是否原地修改。类型为布尔值,默认为False。若设为True,则直接在原DataFrame上进行修改,该方法返回None;若为False,则返回一个新的DataFrame,原数据不变。

示例演示

dropna使用示例

首先创建用于测试的DataFrame数据:


import numpy as np
import pandas as pd

a = np.ones((11,10))
for i in range(len(a)):
    a[i,:i] = np.nan
    
d = pd.DataFrame(data=a)
print(d)

示例一:按行删除,只要存在空值即删除该行


# 按行删除:存在空值,即删除该行
print(d.dropna(axis=0, how='any'))

示例二:按行删除,仅当所有数据均为空值时才删除该行


#  按行删除:所有数据都为空值,即删除该行
print(d.dropna(axis=0, how='all'))

示例三:按列删除,若某列非空元素数量小于5,则删除该列


# 按列删除:该列非空元素小于5个的,即删除该列
print(d.dropna(axis='columns', thresh=5))

示例四:设置子集,仅当第0、5、6、7列同时为空时,才删除该行


# 设置子集:删除第0、5、6、7列都为空的行
print(d.dropna(axis='index', how='all', subset=[0,5,6,7]))

示例五:设置子集,仅当第5、6、7行中存在空值时,才删除对应的列


# 设置子集:删除第5、6、7行存在空值的列
print(d.dropna(axis=1, how='any', subset=[5,6,7]))

示例六:原地修改数据


# 原地修改
print(d.dropna(axis=0, how='any', inplace=True))
print("==============================")
print(d)

实际应用场景扩展

实例扩展:

代码实现


import pandas as pd

data = pd.read_excel('test.xlsx',sheet_name='Sheet1')
datanota = data[data['销售人员'].notna()]
print(datanota)

输出结果

D:\Python\Anaconda\python.exe D:/Python/test/EASdeal/test.py 城市 销售金额 销售人员 0 北京 10000 张丽丽 1 上海 50000 潇潇 2 深圳 60000 笨笨笨 3 成都 40000 达达

Process finished with exit code 0

本文介绍了Python中删除包含空值行的方法,更多相关Python删除空行技巧可参考本站历史文章或继续浏览后续内容,感谢支持。

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

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