python筆記之使用fillna()填充缺失值
使用fillna()填充缺失值
df = pd.read_csv('ccf_offline_stage1_train.csv') print(df['Distance']) df['distance'] = df['Distance'].fillna(-1).astype(int) print(df['distance'])
結(jié)果太長不展示了,經(jīng)過操作后成功將dataframe中distance列的缺失值都變成了-1
關(guān)于fillna()函數(shù)詳解
inplace參數(shù)的取值:True、False
True
:直接修改原對象False
:創(chuàng)建一個(gè)副本,修改副本,原對象不變(缺省默認(rèn))
method參數(shù)的取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default None
pad
/ffill
:用前一個(gè)非缺失值去填充該缺失值backfill
/bfill
:用下一個(gè)非缺失值填充該缺失值None
:指定一個(gè)值去替換缺失值(缺省默認(rèn)這種方式)
limit參數(shù):限制填充個(gè)數(shù)
axis參數(shù):修改填充方向
#導(dǎo)包 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
代碼結(jié)果:
一、不指定任何參數(shù)
1. 用常數(shù)填充
#一、不指定method參數(shù) #1.用常數(shù)填充 print (df1.fillna(100)) print ("-----------------------") print (df1)
運(yùn)行結(jié)果:
2. 用字典填充
#2.用字典填充 df1.fillna({0:10,1:20,2:30})
運(yùn)行結(jié)果:
二、指定inplace參數(shù)
#二、指定inplace參數(shù) print (df1.fillna(0,inplace=True)) print ("-------------------------") print (df1)
運(yùn)行結(jié)果:
三、指定method參數(shù)
1.method = 'ffill'/'pad':用前一個(gè)非缺失值去填充該缺失值
#三、指定method參數(shù) df2 = pd.DataFrame(np.random.randint(0,10,(5,5))) df2.iloc[1:4,3] = NaN df2.iloc[2:4,4] = NaN df2
運(yùn)行結(jié)果:
#1.method = 'ffill'/'pad':用前一個(gè)非缺失值去填充該缺失值 df2.fillna(method='ffill')
運(yùn)行結(jié)果:
2.method = 'bflii'/'backfill':用下一個(gè)非缺失值填充該缺失值
#2.method = 'bflii'/'backfill':用下一個(gè)非缺失值填充該缺失值 df2.fillna(method='bfill')
運(yùn)行結(jié)果:
四、指定limit參數(shù)
#四、指定limit參數(shù) #用下一個(gè)非缺失值填充該缺失值 #只填充2個(gè) df2.fillna(method='bfill', limit=2)
運(yùn)行結(jié)果:
五、指定axis參數(shù)
#五、指定axis參數(shù) df2.fillna(method="ffill", limit=1, axis=1)
運(yùn)行結(jié)果:
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python基于select實(shí)現(xiàn)的socket服務(wù)器
這篇文章主要介紹了Python基于select實(shí)現(xiàn)的socket服務(wù)器,實(shí)例分析了Python基于select與socket模塊實(shí)現(xiàn)socket通信的相關(guān)技巧,需要的朋友可以參考下2016-04-04Python 通過調(diào)用接口獲取公交信息的實(shí)例
今天小編就為大家分享一篇Python 通過調(diào)用接口獲取公交信息的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python數(shù)據(jù)結(jié)構(gòu)之列表與元組詳解
序列是Python中最基本的數(shù)據(jù)結(jié)構(gòu)。序列中的每個(gè)元素都分配一個(gè)數(shù)字 - 它的位置,或索引,第一個(gè)索引是0,第二個(gè)索引是1,依此類推,元組與列表類似,不同之處在于元組的元素不能修改。元組使用小括號,列表使用方括號2021-10-10Python django使用多進(jìn)程連接mysql錯(cuò)誤的解決方法
這篇文章主要介紹了Python django使用多進(jìn)程連接mysql錯(cuò)誤的解決方法,詳細(xì)的介紹了解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn)
本文主要介紹了Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03