Python?pandas中DataFrame.dropna()刪除缺失值用法實例
前言
在 Pandas 中,DataFrame.dropna() 用于刪除缺失值(NaN 或 None),是數(shù)據(jù)清洗的關(guān)鍵操作。以下是詳細(xì)用法和常見場景:
1. 基本語法
cleaned_df = df.dropna(
axis=0, # 刪除行(默認(rèn))或列(axis=1)
how='any', # 'any'(默認(rèn),存在缺失即刪除)或 'all'(全為缺失才刪除)
thresh=None, # 保留非缺失值數(shù)量≥thresh的行/列
subset=None, # 僅檢查指定列的缺失情況
inplace=False # 是否原地修改(False時返回新DataFrame)
)
2. 核心參數(shù)詳解
| 參數(shù) | 說明 | 示例 |
|---|---|---|
| axis | 0 或 'index':刪除包含缺失值的行(默認(rèn))1 或 'columns':刪除列 | df.dropna(axis=1) |
| how | 'any':行/列中任一缺失即刪除'all':行/列全部缺失才刪除 | df.dropna(how='all') |
| thresh | 保留至少含 thresh 個非缺失值的行/列(優(yōu)先級高于 how) | df.dropna(thresh=3) |
| subset | 僅對指定列(列表形式)檢查缺失值 | df.dropna(subset=['Age', 'Salary']) |
| inplace | True:直接修改原DataFrame,不返回新對象False:返回新DataFrame(默認(rèn)) | df.dropna(inplace=True) |
3. 常見使用場景
(1) 刪除所有含缺失值的行(默認(rèn)行為)
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1, np.nan, 3],
'B': ['x', np.nan, 'z'],
'C': [10, 20, 30]
})
cleaned_df = df.dropna()
print(cleaned_df)
輸出:
A B C
0 1.0 x 10
2 3.0 z 30
(2) 刪除所有含缺失值的列
cleaned_df = df.dropna(axis=1) print(cleaned_df)
輸出:
C
0 10
1 20
2 30
(3) 僅當(dāng)整行全為缺失值時刪除
cleaned_df = df.dropna(how='all')
(4) 保留至少2個非缺失值的行
cleaned_df = df.dropna(thresh=2)
(5) 僅檢查特定列的缺失值
cleaned_df = df.dropna(subset=['A', 'B'])
4. 注意事項
- 缺失值類型:Pandas 將
None和np.nan均視為缺失值。 - 性能優(yōu)化:對大型DataFrame,
thresh比how更高效。 - 替代方案:若不想刪除數(shù)據(jù),可用
df.fillna()填充缺失值。
5. 可視化對比
原始數(shù)據(jù) (df):
| A | B | C |
|---|---|---|
| 1.0 | ‘x’ | 10 |
| NaN | NaN | 20 |
| 3.0 | ‘z’ | 30 |
執(zhí)行 df.dropna() 后:
| A | B | C |
|---|---|---|
| 1.0 | ‘x’ | 10 |
| 3.0 | ‘z’ | 30 |
通過靈活組合參數(shù),dropna() 可以精準(zhǔn)控制數(shù)據(jù)清洗的粒度,是處理缺失值的利器!
總結(jié)
到此這篇關(guān)于Python pandas中DataFrame.dropna()刪除缺失值用法的文章就介紹到這了,更多相關(guān)pandas DataFrame.dropna()刪除缺失值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python四個坐標(biāo)點對圖片區(qū)域最小外接矩形進(jìn)行裁剪
在圖像裁剪操作中,opencv和pillow兩個庫都具有相應(yīng)的函數(shù),如果想要對目標(biāo)的最小外接矩形進(jìn)行裁剪該如何操作呢?本文就來詳細(xì)的介紹一下2021-06-06
Python實踐之使用Pandas進(jìn)行數(shù)據(jù)分析
在數(shù)據(jù)分析領(lǐng)域,Python的Pandas庫是一個非常強大的工具。這篇文章將為大家詳細(xì)介紹如何使用Pandas進(jìn)行數(shù)據(jù)分析,希望對大家有所幫助2023-04-04
Python稀疏矩陣及參數(shù)保存代碼實現(xiàn)
這篇文章主要介紹了Python稀疏矩陣及參數(shù)保存代碼實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
pytorch實現(xiàn)ResNet結(jié)構(gòu)的實例代碼
ResNet網(wǎng)絡(luò)可以達(dá)到很深的層數(shù)的原因就是不斷的堆疊殘差結(jié)構(gòu)而來的,接下來通過本文給大家介紹pytorch實現(xiàn)ResNet結(jié)構(gòu)的示例代碼,喜歡的朋友跟隨小編一起看看吧2021-05-05

