pandas模块dropna数据清理删除NaN--python3

2025-10-31 10:47:43

1、首先介绍dropna常用参数:

# DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

主要的2个参数:

#axis=0: 删除包含缺失值(NaN)的行

#axis=1: 删除包含缺失值(NaN)的列

# how=‘any’ :要有缺失值(NaN)出现删除

# how=‘all’: 所有的值都缺失(NaN)才删除

这两个要配合使用才好。

还有一个thresh参数

如果缺失值(NaN)的数量大于thresh,将删除

pandas模块dropna数据清理删除NaN--python3

2、创建还有Nan的矩阵数据

df4 = pd.DataFrame(np.arange(16).reshape(4,4), columns = ['列1','列2','列3','列4'])print(df4)df4.loc[1,:]  = np.nanprint(df4)df4.loc[:, '列2']   = np.nanprint(df4)

pandas模块dropna数据清理删除NaN--python3

pandas模块dropna数据清理删除NaN--python3

3、1)删除MAT中真正所有含NAN的行和列 全删。

# 只要有Nan 行列就删!

print(df4.dropna())

因为所有行列都含有Nan因此删光了

pandas模块dropna数据清理删除NaN--python3

pandas模块dropna数据清理删除NaN--python3

4、2)选择删除

2.1)# how: 与axis配合使用  

how=‘any’ :只要有缺失值出现,就删除

print(df4.dropna(axis=0, how='any'))

2.2)# how=‘all’: 所有的值都缺失,才删除

print(df4.dropna(axis=0, how='all'))

对比连个结果 一个都删=空 一个还有数据!

pandas模块dropna数据清理删除NaN--python3

pandas模块dropna数据清理删除NaN--python3

5、3) 一个删除列的例子

# /删除列print(df4.dropna(axis=1, how='all'))print("---------------")print(df4.dropna(axis=1, how='any'))

结果也不同 说 python的pandas对缺失值处理很灵活。

pandas模块dropna数据清理删除NaN--python3

pandas模块dropna数据清理删除NaN--python3

6、4)缺失值的数量大于thresh,将删除

print("-----缺失值的数量大于thresh,将删除---------")# 如果缺失值的数量大于thresh,将删除print(df4.dropna(axis=1, thresh=3))print(df4.dropna(axis=1, thresh=5))

pandas模块dropna数据清理删除NaN--python3

pandas模块dropna数据清理删除NaN--python3

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢