一、介绍
pd.dropna() 函数主要用于删除缺失数据。
-
Series返回一个仅包含非空数据和索引的Series,默认丢弃含有缺失值的行 -
DataFrame可以通过参数更详细的删除行数据
使用语法:
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)参数解释:
axis=0 删除含有缺失值的行 axis=1 删除列
how=all、any all表示删除全是缺失值的行、any表示任意一个缺失值
thresh=n 表示保留至少含有n个非缺失值的行
subset 定义查找的列
inplace 是否在原始数据框中修改数据二、实操
0.构建测试数据集
import pandas as pd
import numpy as np
df = pd.DataFrame({'Name':['A','B','C'],
'Toy':[np.nan, 'Bat','Bull'],
'Born':[pd.NaT, pd.Timestamp('1992-12-12'), pd.NaT]})
'''
Name Toy Born
0 A NaN NaT
1 B Bat 1992-12-12
2 C Bull NaT
'''1.axis 删除行列
axis=0 或者 axis='index' 表示删除含有缺失值的行
axis=1 或者 axis='columns' 表示删除含有缺失值的列
# 默认删除
df.dropna()
# 按列删除
df.dropna(axis=1)2.how 删除方式
-
how='all'表示删除全是缺失值的行(列) -
how='any'表示删除只要有任意一个缺失值的行(列)
df.dropna(how='all') # 无变化
df.dropna(how='any') # 任意一个3.thresh=n 保留至少含有n个非NA值
df.dropna(thresh=2)
'''
Name Toy Born
1 B Bat 1992-12-12
2 C Bull NaT
'''4.subset 定义列
df.dropna(subset=['Name','Born'])
















