小編寫這篇文章的主要目的,還是用來給大家講解一些案例,給大家講解一下具體的一些使用法則,包括使用fillna函數(shù)填充NaN值,下面給大家做一個(gè)比較詳細(xì)的解答。
1.參數(shù)解析
1.1inplace參數(shù)
取值:True、False
True:直接修改原對象
False:創(chuàng)建一個(gè)副本,修改副本,原對象不變(缺省默認(rèn))
1.2method參數(shù)
取值:{‘pad’,‘ffill’,‘backfill’,‘bfill’,None},defaultNone
pad/ffill:用前一個(gè)非缺失值去填充該缺失值
backfill/bfill:用下一個(gè)非缺失值填充該缺失值
None:指定一個(gè)值去替換缺失值(缺省默認(rèn)這種方式)
1.3limit參數(shù):
限制填充個(gè)數(shù)
1.4axis參數(shù)
修改填充方向
補(bǔ)充
isnull和notnull函數(shù)用于判斷是否有缺失值數(shù)據(jù)
isnull:缺失值為True,非缺失值為False
notnull:缺失值為False,非缺失值為True
2.代碼實(shí)例
#導(dǎo)包 importpandasaspd importnumpyasnp fromnumpyimportnanasNaN df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]]) df1
代碼結(jié)果:
012
01.02.03.0
1NaNNaN2.0
2NaNNaNNaN
38.08.0NaN
2.1常數(shù)填充
2.1.1用常數(shù)填充
#1.用常數(shù)填充 print(df1.fillna(100)) print("-----------------------") print(df1)
運(yùn)行結(jié)果:
012
01.02.03.0
1100.0100.02.0
2100.0100.0100.0
38.08.0100.0
-----------------------
012
01.02.03.0
1NaNNaN2.0
2NaNNaNNaN
38.08.0NaN
2.1.2用字典填充
第key列的NaN用key對應(yīng)的value值填充
df1.fillna({0:10,1:20,2:30})
運(yùn)行結(jié)果:
012
01.02.03.0
110.020.02.0
210.020.030.0
38.08.030.0
2.2使用inplace參數(shù)
print(df1.fillna(0,inplace=True)) print("-------------------------") print(df1)
運(yùn)行結(jié)果:
在這里插入代碼片
2.3使用method參數(shù)
1.method='ffill'/'pad':用前一個(gè)非缺失值去填充該缺失值 df2=pd.DataFrame(np.random.randint(0,10,(5,5))) df2.iloc[1:4,3]=None df2.iloc[2:4,4]=None print(df2) print("-------------------------") print(df2.fillna(method='ffill'))
運(yùn)行結(jié)果:
01234
08445.06.0
1528NaN7.0
2631NaNNaN
3549NaNNaN
46546.09.0
-------------------------
01234
08445.06.0
15285.07.0
26315.07.0
35495.07.0
46546.09.0
2.method=‘bflii’/‘backfill’:用下一個(gè)非缺失值填充該缺失值
df2=pd.DataFrame(np.random.randint(0,10,(5,5))) df2.iloc[1:4,3]=None df2.iloc[2:4,4]=None print(df2) print("-------------------------") print(df2.fillna(method='bfill'))
運(yùn)行結(jié)果:
01234
01041.03.0
1464NaN2.0
2492NaNNaN
3973NaNNaN
46135.05.0
-------------------------
01234
01041.03.0
14645.02.0
24925.05.0
39735.05.0
46135.05.0
2.4使用limit參數(shù)
用下一個(gè)非缺失值填充該缺失值且每列只填充2個(gè)
df2=pd.DataFrame(np.random.randint(0,10,(5,5))) df2.iloc[1:4,3]=None df2.iloc[2:4,4]=None print(df2) print("-------------------------") print(df2.fillna(method='bfill',limit=2))
運(yùn)行結(jié)果:
01234
02044.00.0
1799NaN1.0
2173NaNNaN
3858NaNNaN
48624.04.0
-------------------------
01234
02044.00.0
1799NaN1.0
21734.04.0
38584.04.0
48624.04.0
2.5使用axis參數(shù)
axis=0對每列數(shù)據(jù)進(jìn)行操作 axis=1對每行數(shù)據(jù)進(jìn)行操作 df2=pd.DataFrame(np.random.randint(0,10,(5,5))) df2.iloc[1:4,3]=None df2.iloc[2:4,4]=None print(df2.fillna(method="ffill",limit=1,axis=1))
運(yùn)行結(jié)果:
01234
00.04.09.07.02.0
16.05.00.00.03.0
28.08.08.08.0NaN
35.05.06.06.0NaN
47.05.07.04.01.0
總結(jié),小編就為大家介紹到這里了,希望可以給讀者帶來幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/127852.html
摘要:中面向行和面向列的操作基本是平衡的。用層次化索引,將其表示為更高維度的數(shù)據(jù)。使用浮點(diǎn)值表示浮點(diǎn)和非浮點(diǎn)數(shù)組中的缺失數(shù)據(jù)。索引的的格式化輸出形式選取數(shù)據(jù)子集在內(nèi)層中進(jìn)行選取層次化索引在數(shù)據(jù)重塑和基于分組的操作中很重要。 我們在上一篇介紹了 NumPy,本篇介紹 pandas。 pandas入門 Pandas 是基于Numpy構(gòu)建的,讓以NumPy為中心的應(yīng)用變的更加簡單。 pandas...
小編寫這篇文章的主要目的,是給大家介紹一下關(guān)于python中的一些實(shí)例,比如,其中,會給大家講到,Python中基礎(chǔ)值的一些運(yùn)算,以及當(dāng)我們遇到空的數(shù)值的時(shí)候,一些處理方法,下面給大家做一個(gè)詳細(xì)的解答?! ∏把浴 〗裉煳覀円黄饋砹牧腄ataFrame中的索引?! ∩弦黄恼庐?dāng)中我們介紹了DataFrame數(shù)據(jù)結(jié)構(gòu)當(dāng)中一些常用的索引的使用方法,比如iloc、loc以及邏輯索引等等。今天的文章...
摘要:引入包和加載數(shù)據(jù)清洗數(shù)據(jù)查看數(shù)據(jù)維度以及類型缺失值處理查看數(shù)據(jù)統(tǒng)計(jì)信息數(shù)值屬性離散化計(jì)算特征與屬性之間關(guān)系查看數(shù)據(jù)維度以及類型查看前五條數(shù)據(jù)查看每列數(shù)據(jù)類型以及情況獲得所有屬性查看數(shù)據(jù)統(tǒng)計(jì)信息查看連續(xù)數(shù)值屬性基本統(tǒng)計(jì)情況查看屬性數(shù)據(jù)統(tǒng)計(jì)情況 引入包和加載數(shù)據(jù) 12345import pandas as pdimport numpy as nptrain_df =pd.read_csv(...
摘要:前言在數(shù)據(jù)分析和建模之前需要審查數(shù)據(jù)是否滿足數(shù)據(jù)處理應(yīng)用的要求,以及對數(shù)據(jù)進(jìn)行清洗,轉(zhuǎn)化,合并,重塑等一系列規(guī)整化處理。通過數(shù)據(jù)信息查看可知數(shù)據(jù)中存在缺失值,比如各存在個(gè),各存在個(gè)。 前言 在數(shù)據(jù)分析和建模之前需要審查數(shù)據(jù)是否滿足數(shù)據(jù)處理應(yīng)用的要求,以及對數(shù)據(jù)進(jìn)行清洗,轉(zhuǎn)化,合并,重塑等一系列規(guī)整化處理。pandas標(biāo)準(zhǔn)庫提供了高級靈活的方法,能夠輕松地將數(shù)據(jù)規(guī)整化為正確的形式,本文通...
摘要:資料分析資料篩選偵測缺失值補(bǔ)齊缺失值資料轉(zhuǎn)換處理時(shí)間格式數(shù)據(jù)重塑資料學(xué)習(xí)正規(guī)運(yùn)算式處理資料格式,提供高效能,簡易使用的數(shù)據(jù)格式讓用戶可以快速操作及分析資料。使用平均數(shù),中位數(shù),眾數(shù)等敘述性統(tǒng)計(jì)補(bǔ)齊缺失值。 有90%的有用數(shù)據(jù),都在數(shù)據(jù)庫中。 數(shù)據(jù) 數(shù)據(jù)類型 定性數(shù)據(jù): 敘述特征或種類,例如:種族,區(qū)域。 定量數(shù)據(jù): 可以被計(jì)數(shù)或測量,例如:身高,消費(fèi)金額。 定量數(shù)據(jù) 離散數(shù)據(jù)只能...
閱讀 923·2023-01-14 11:38
閱讀 895·2023-01-14 11:04
閱讀 756·2023-01-14 10:48
閱讀 2055·2023-01-14 10:34
閱讀 961·2023-01-14 10:24
閱讀 840·2023-01-14 10:18
閱讀 510·2023-01-14 10:09
閱讀 588·2023-01-14 10:02