Python學習筆記:pd.dropna刪除缺失值


一、介紹

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()參數詳解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM