您好,登錄后才能下訂單哦!
本篇內容主要講解“python之怎么使用fillna()填充缺失值”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python之怎么使用fillna()填充缺失值”吧!
df = pd.read_csv('ccf_offline_stage1_train.csv') print(df['Distance']) df['distance'] = df['Distance'].fillna(-1).astype(int) print(df['distance'])
結果太長不展示了,經過操作后成功將dataframe中distance列的缺失值都變成了-1
inplace參數的取值:True、False
True
:直接修改原對象
False
:創建一個副本,修改副本,原對象不變(缺省默認)
method參數的取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default None
pad
/ffill
:用前一個非缺失值去填充該缺失值
backfill
/bfill
:用下一個非缺失值填充該缺失值
None
:指定一個值去替換缺失值(缺省默認這種方式)
limit參數:限制填充個數
axis參數:修改填充方向
#導包 import pandas as pd import numpy as np from numpy import nan as NaN
df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]]) df1
代碼結果:
1. 用常數填充
#一、不指定method參數 #1.用常數填充 print (df1.fillna(100)) print ("-----------------------") print (df1)
運行結果:
2. 用字典填充
#2.用字典填充 df1.fillna({0:10,1:20,2:30})
運行結果:
#二、指定inplace參數 print (df1.fillna(0,inplace=True)) print ("-------------------------") print (df1)
運行結果:
1.method = 'ffill'/'pad':用前一個非缺失值去填充該缺失值
#三、指定method參數 df2 = pd.DataFrame(np.random.randint(0,10,(5,5))) df2.iloc[1:4,3] = NaN df2.iloc[2:4,4] = NaN df2
運行結果:
#1.method = 'ffill'/'pad':用前一個非缺失值去填充該缺失值 df2.fillna(method='ffill')
運行結果:
2.method = 'bflii'/'backfill':用下一個非缺失值填充該缺失值
#2.method = 'bflii'/'backfill':用下一個非缺失值填充該缺失值 df2.fillna(method='bfill')
運行結果:
#四、指定limit參數 #用下一個非缺失值填充該缺失值 #只填充2個 df2.fillna(method='bfill', limit=2)
運行結果:
#五、指定axis參數 df2.fillna(method="ffill", limit=1, axis=1)
運行結果:
到此,相信大家對“python之怎么使用fillna()填充缺失值”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。