python中dropna()函數(shù)的作用舉例說(shuō)明
在Python中,dropna()
是一個(gè)Pandas庫(kù)中的函數(shù),用于從數(shù)據(jù)框(DataFrame)中刪除包含缺失值(NaN)的行或列。它用于數(shù)據(jù)清洗和預(yù)處理階段,以便去除缺失值,使數(shù)據(jù)更加規(guī)整。
dropna()函數(shù)的語(yǔ)法如下:
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
參數(shù)說(shuō)明:
axis
:可選參數(shù),表示刪除行還是列。默認(rèn)值為0,表示刪除包含缺失值的行;設(shè)置為1表示刪除包含缺失值的列。how
:可選參數(shù),表示刪除的條件。默認(rèn)值為’any’,表示只要存在一個(gè)缺失值就刪除整行或整列;設(shè)置為’all’表示只有當(dāng)整行或整列都是缺失值時(shí)才刪除。thresh
:可選參數(shù),表示在刪除之前需要滿足的非缺失值的最小數(shù)量。如果行或列中的非缺失值數(shù)量小于等于thresh
,則會(huì)被刪除。subset
:可選參數(shù),用于指定要檢查缺失值的特定列名或行索引。inplace
:可選參數(shù),表示是否對(duì)原始數(shù)據(jù)進(jìn)行就地修改。默認(rèn)值為False,表示不修改原始數(shù)據(jù),而是返回一個(gè)新的數(shù)據(jù)框。
下面是一些使用dropna()函數(shù)的示例:
import pandas as pd # 創(chuàng)建包含缺失值的數(shù)據(jù)框 data = {'A': [1, 2, None, 4], 'B': [None, 6, 7, 8], 'C': [9, 10, 11, 12]} df = pd.DataFrame(data) # 刪除包含缺失值的行 cleaned_df = df.dropna() # 刪除包含缺失值的列 cleaned_df = df.dropna(axis=1) # 只刪除整行或整列都是缺失值的行或列 cleaned_df = df.dropna(how='all') # 至少需要2個(gè)非缺失值才保留行或列 cleaned_df = df.dropna(thresh=2) # 只在特定列中檢查缺失值 cleaned_df = df.dropna(subset=['A', 'C']) # 在原始數(shù)據(jù)上進(jìn)行就地修改 df.dropna(inplace=True)
這些示例展示了dropna()
函數(shù)的不同用法,根據(jù)你的具體需求選擇合適的參數(shù)設(shè)置。
附:Python丟棄含空值的行、列
創(chuàng)建DataFrame數(shù)據(jù):
import numpy as np import pandas as pd a = np.ones((11,10)) for i in range(len(a)): a[i,:i] = np.nan d = pd.DataFrame(data=a) print(d)
按行刪除:存在空值,即刪除該行
# 按行刪除:存在空值,即刪除該行 print(d.dropna(axis=0, how='any'))
按行刪除:所有數(shù)據(jù)都為空值,即刪除該行
# 按行刪除:所有數(shù)據(jù)都為空值,即刪除該行 print(d.dropna(axis=0, how='all'))
按列刪除:該列非空元素小于5個(gè)的,即刪除該列
# 按列刪除:該列非空元素小于5個(gè)的,即刪除該列 print(d.dropna(axis='columns', thresh=5))
設(shè)置子集:刪除第0、5、6、7列都為空的行
# 設(shè)置子集:刪除第0、5、6、7列都為空的行 print(d.dropna(axis='index', how='all', subset=[0,5,6,7]))
設(shè)置子集:刪除第5、6、7行存在空值的列
# 設(shè)置子集:刪除第5、6、7行存在空值的列 print(d.dropna(axis=1, how='any', subset=[5,6,7]))
原地修改
# 原地修改 print(d.dropna(axis=0, how='any', inplace=True)) print("==============================") print(d)
總結(jié)
到此這篇關(guān)于python中dropna()函數(shù)的文章就介紹到這了,更多相關(guān)python dropna()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django使用Celery實(shí)現(xiàn)異步發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了Django如何使用Celery實(shí)現(xiàn)異步發(fā)送郵件的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-04-04python神經(jīng)網(wǎng)絡(luò)tfrecords文件的寫入讀取及內(nèi)容解析
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)tfrecords文件的寫入讀取及內(nèi)容解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05flask的orm框架SQLAlchemy查詢實(shí)現(xiàn)解析
這篇文章主要介紹了flask的orm框架SQLAlchemy查詢實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Python根據(jù)已知鄰接矩陣?yán)L制無(wú)向圖操作示例
這篇文章主要介紹了Python根據(jù)已知鄰接矩陣?yán)L制無(wú)向圖操作,涉及Python使用networkx、matplotlib進(jìn)行數(shù)值運(yùn)算與圖形繪制相關(guān)操作技巧,需要的朋友可以參考下2018-06-06Django框架視圖函數(shù)設(shè)計(jì)示例
這篇文章主要介紹了Django框架視圖函數(shù)設(shè)計(jì),結(jié)合實(shí)例形式分析了Django框架視圖函數(shù)處理流程、原理與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-07-07python文件轉(zhuǎn)為exe文件的方法及用法詳解
py2exe是一個(gè)將python腳本轉(zhuǎn)換成windows上的可獨(dú)立執(zhí)行的可執(zhí)行程序(*.exe)的工具,這樣,你就可以不用裝python而在windows系統(tǒng)上運(yùn)行這個(gè)可執(zhí)行程序。本文重點(diǎn)給大家介紹python文件轉(zhuǎn)為exe文件的方法,感興趣的朋友跟隨小編一起看看吧2019-07-07Python使用Pandas對(duì)比兩列數(shù)據(jù)取最大值的五種方法
本文主要介紹使用 Pandas 對(duì)比兩列數(shù)據(jù)取最大值的五種方法,包括使用 max 方法、apply 方法結(jié)合 lambda 函數(shù)、函數(shù)、clip 方法、where 方法結(jié)合條件賦值,并通過(guò)案例進(jìn)行詳細(xì)說(shuō)明,需要的朋友可以參考下2025-02-02Django中Q查詢及Q()對(duì)象 F查詢及F()對(duì)象用法
這篇文章主要介紹了Django中Q查詢及Q()對(duì)象 F查詢及F()對(duì)象用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07