Pandas缺失值删除df.dropna()的使用
本文详细介绍Pandas库中df.dropna()函数的使用方法,涵盖axis、how、thresh、subset及inplace等核心参数的具体含义与操作示例。通过代码演示整行整列删除、条件过滤及原地修改等常见场景,帮助开发者高效处理数据中的空值。
函数参数
函数形式:dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
参数说明如下:
- axis:指定删除维度,0或'index'代表按行删除,1或'columns'代表按列删除。
- how:指定删除条件,'any'表示该行或列中只要存在任意一个空值即被删除;'all'表示该行或列中所有值均为空值时才被删除。
- thresh:整数类型,默认为None。若该行或列中非空元素的数量小于该阈值,则删除该行或列。
- subset:列表类型,指定参与缺失值判断的列(当axis=0时)或行(当axis=1时)。
- inplace:布尔值,默认为False。若设为True,则直接在原DataFrame上进行修改,否则返回一个新的DataFrame。
整行整列删除
使用df.dropna()方法删除缺失值
import pandas as pd
import numpy as np
# 原数据
df = pd.DataFrame({'A':['a1','a1','a2','a2'],
'B':['b1','b2',None,'b2'],
'C':[1,2,3,4],
'D':[5,6,None,8],
'E':[5,None,7,8]
})
# 删除有缺失值的行
res1 = df.dropna()
# 删除有缺失值的列
res2 = df.dropna(1)结果展示
df

res1

res2

以下是一些常见操作:
# 删除所有缺失值的行
df.dropna()
# 删除所有缺失值的列
df.dropna(axis = 'columns')
df.dropna(axis = 1)
# how参数 {‘any', ‘all'}, default ‘any',any:删除带有nan的行;all:删除全为nan的行
# 删除所有值都缺失的行
df.dropna(how = 'all')
# 删除至少有两个缺失值的行
df.dropna(thresh = 2)
# 指定判断缺失值的列范围
df.dropna(subset = ['B','D'])
# 使删除的结果生效
df.dropna(inplace = True)
# 指定列的缺失值删除
df.col.dropna()
需要注意的是,df.dropna()操作默认不会替换原来的数据。若需要直接修改原数据,可以重新赋值或者传入参数inplace = True
到此这篇关于Pandas缺失值删除df.dropna()的使用的文章就介绍到这了,更多相关Pandas缺失值删除df.dropna()内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













