一、介紹
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'])
5.inplace 修改原始數據框
參考鏈接:pandas之dropna()
參考鏈接:pandas中dropna()參數詳解