Pandas缺失值删除df.dropna()的使用

函数参数

函数形式:dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)

参数:

  • axis:0或’index’,表示按行删除;1或’columns’,表示按列删除。
  • how:‘any’,表示该行/列只要有一个以上的空值,就删除该行/列;‘all’,表示该行/列全部都为空值,就删除该行/列。
  • thresh:int型,默认为None。如果该行/列中,非空元素数量小于这个值,就删除该行/列。
  • subset:子集。列表,按columns所在的列(或index所在的行)删除。
  • inplace:是否原地替换调原来的dataframe。布尔值,默认为False。

整行整列删除

使用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

Pandas缺失值删除df.dropna()的使用_第1张图片

res1

Pandas缺失值删除df.dropna()的使用_第2张图片

res2

Pandas缺失值删除df.dropna()的使用_第3张图片

以下是一些常见操作:

# 删除所有缺失值的行
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()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Pandas缺失值删除df.dropna()的使用)