Python?pandas中DataFrame.dropna()刪除缺失值用法實(shí)例
前言
在 Pandas 中,DataFrame.dropna() 用于刪除缺失值(NaN 或 None),是數(shù)據(jù)清洗的關(guān)鍵操作。以下是詳細(xì)用法和常見(jiàn)場(chǎng)景:
1. 基本語(yǔ)法
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時(shí)返回新DataFrame)
)
2. 核心參數(shù)詳解
| 參數(shù) | 說(shuō)明 | 示例 |
|---|---|---|
| axis | 0 或 'index':刪除包含缺失值的行(默認(rèn))1 或 'columns':刪除列 | df.dropna(axis=1) |
| how | 'any':行/列中任一缺失即刪除'all':行/列全部缺失才刪除 | df.dropna(how='all') |
| thresh | 保留至少含 thresh 個(gè)非缺失值的行/列(優(yōu)先級(jí)高于 how) | df.dropna(thresh=3) |
| subset | 僅對(duì)指定列(列表形式)檢查缺失值 | df.dropna(subset=['Age', 'Salary']) |
| inplace | True:直接修改原DataFrame,不返回新對(duì)象False:返回新DataFrame(默認(rèn)) | df.dropna(inplace=True) |
3. 常見(jiàn)使用場(chǎng)景
(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)整行全為缺失值時(shí)刪除
cleaned_df = df.dropna(how='all')
(4) 保留至少2個(gè)非缺失值的行
cleaned_df = df.dropna(thresh=2)
(5) 僅檢查特定列的缺失值
cleaned_df = df.dropna(subset=['A', 'B'])
4. 注意事項(xiàng)
- 缺失值類型:Pandas 將
None和np.nan均視為缺失值。 - 性能優(yōu)化:對(duì)大型DataFrame,
thresh比how更高效。 - 替代方案:若不想刪除數(shù)據(jù),可用
df.fillna()填充缺失值。
5. 可視化對(duì)比
原始數(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 |
通過(guò)靈活組合參數(shù),dropna() 可以精準(zhǔn)控制數(shù)據(jù)清洗的粒度,是處理缺失值的利器!
總結(jié)
到此這篇關(guān)于Python pandas中DataFrame.dropna()刪除缺失值用法的文章就介紹到這了,更多相關(guān)pandas DataFrame.dropna()刪除缺失值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python函數(shù)中不定長(zhǎng)參數(shù)的寫(xiě)法
今天小編就為大家分享一篇關(guān)于Python函數(shù)中不定長(zhǎng)參數(shù)的寫(xiě)法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
Python?Pandas數(shù)據(jù)處理高頻操作詳解
這篇文章主要為大家整理了一些Python?Pandas數(shù)據(jù)處理高頻操作,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下2022-06-06
Pandas數(shù)據(jù)結(jié)構(gòu)中Series屬性詳解
本文主要介紹了Pandas數(shù)據(jù)結(jié)構(gòu)中Series屬性詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04

