欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pandas使用fillna函數(shù)填充NaN值的代碼實例

 更新時間:2022年07月12日 10:43:58   作者:energy_百分百  
最近在工作中遇到一個問題,pandas讀取的數(shù)據(jù)中nan在保存后變成空字符串,所以下面這篇文章主要給大家介紹了關(guān)于pandas使用fillna函數(shù)填充NaN值的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. 參數(shù)解析

1.1 inplace參數(shù)

取值:True、False

True:直接修改原對象

False:創(chuàng)建一個副本,修改副本,原對象不變(缺省默認(rèn))

1.2 method參數(shù)

取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default None

pad/ffill:用前一個非缺失值去填充該缺失值

backfill/bfill:用下一個非缺失值填充該缺失值

None:指定一個值去替換缺失值(缺省默認(rèn)這種方式)

1.3 limit參數(shù):

限制填充個數(shù)

1.4 axis參數(shù)

修改填充方向

補(bǔ)充

isnull 和 notnull 函數(shù)用于判斷是否有缺失值數(shù)據(jù)

  • isnull:缺失值為True,非缺失值為False
  • notnull:缺失值為False,非缺失值為True

2. 代碼實例

#導(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é)果:

     0    1    2
0  1.0  2.0  3.0
1  NaN  NaN  2.0
2  NaN  NaN  NaN
3  8.0  8.0  NaN

2.1 常數(shù)填充

2.1.1 用常數(shù)填充

#1.用常數(shù)填充
print (df1.fillna(100))
print ("-----------------------")
print (df1)

運行結(jié)果:

       0      1      2
0    1.0    2.0    3.0
1  100.0  100.0    2.0
2  100.0  100.0  100.0
3    8.0    8.0  100.0
-----------------------
     0    1    2
0  1.0  2.0  3.0
1  NaN  NaN  2.0
2  NaN  NaN  NaN
3  8.0  8.0  NaN

2.1.2 用字典填充

第key列的NaN用key對應(yīng)的value值填充

df1.fillna({0:10,1:20,2:30})

運行結(jié)果:

      0     1     2
0   1.0   2.0   3.0
1  10.0  20.0   2.0
2  10.0  20.0  30.0
3   8.0   8.0  30.0

2.2 使用inplace參數(shù)

print (df1.fillna(0,inplace=True))
print ("-------------------------")
print (df1)

運行結(jié)果:

在這里插入代碼片

2.3 使用method參數(shù)

1.method = 'ffill'/'pad':用前一個非缺失值去填充該缺失值

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'))

運行結(jié)果:

   0  1  2    3    4
0  8  4  4  5.0  6.0
1  5  2  8  NaN  7.0
2  6  3  1  NaN  NaN
3  5  4  9  NaN  NaN
4  6  5  4  6.0  9.0
-------------------------
   0  1  2    3    4
0  8  4  4  5.0  6.0
1  5  2  8  5.0  7.0
2  6  3  1  5.0  7.0
3  5  4  9  5.0  7.0
4  6  5  4  6.0  9.0

2.method = ‘bflii’/‘backfill’:用下一個非缺失值填充該缺失值

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'))

運行結(jié)果:

   0  1  2    3    4
0  1  0  4  1.0  3.0
1  4  6  4  NaN  2.0
2  4  9  2  NaN  NaN
3  9  7  3  NaN  NaN
4  6  1  3  5.0  5.0
-------------------------
   0  1  2    3    4
0  1  0  4  1.0  3.0
1  4  6  4  5.0  2.0
2  4  9  2  5.0  5.0
3  9  7  3  5.0  5.0
4  6  1  3  5.0  5.0

2.4 使用limit參數(shù)

用下一個非缺失值填充該缺失值且每列只填充2個

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))

運行結(jié)果:

   0  1  2    3    4
0  2  0  4  4.0  0.0
1  7  9  9  NaN  1.0
2  1  7  3  NaN  NaN
3  8  5  8  NaN  NaN
4  8  6  2  4.0  4.0
-------------------------
   0  1  2    3    4
0  2  0  4  4.0  0.0
1  7  9  9  NaN  1.0
2  1  7  3  4.0  4.0
3  8  5  8  4.0  4.0
4  8  6  2  4.0  4.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))

運行結(jié)果:

    0    1    2    3    4
0  0.0  4.0  9.0  7.0  2.0
1  6.0  5.0  0.0  0.0  3.0
2  8.0  8.0  8.0  8.0  NaN
3  5.0  5.0  6.0  6.0  NaN
4  7.0  5.0  7.0  4.0  1.0

還有一些pandas的基礎(chǔ)運算請參考這篇文章->pandas | DataFrame基礎(chǔ)運算以及空值填充

總結(jié)

到此這篇關(guān)于pandas使用fillna函數(shù)填充NaN值的文章就介紹到這了,更多相關(guān)pandas用fillna填充NaN值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于Python數(shù)據(jù)處理中的None、NULL和NaN的理解與應(yīng)用

    關(guān)于Python數(shù)據(jù)處理中的None、NULL和NaN的理解與應(yīng)用

    這篇文章主要介紹了關(guān)于Python數(shù)據(jù)處理中的None、NULL和NaN的理解與應(yīng)用,None表示空值,一個特殊Python對象,None的類型是NoneType,需要的朋友可以參考下
    2023-08-08
  • Django Rest framework之權(quán)限的實現(xiàn)示例

    Django Rest framework之權(quán)限的實現(xiàn)示例

    這篇文章主要介紹了Django Rest framework之權(quán)限的實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • python多進(jìn)程(加入進(jìn)程池)操作常見案例

    python多進(jìn)程(加入進(jìn)程池)操作常見案例

    這篇文章主要介紹了python多進(jìn)程(加入進(jìn)程池)操作,結(jié)合常見案例形式分析了Python多進(jìn)程復(fù)制文件、加入進(jìn)程池及多進(jìn)程聊天等相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • windows下Python實現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法

    windows下Python實現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法

    這篇文章主要介紹了windows下Python實現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法,結(jié)合實例形式較為詳細(xì)的分析了Python實現(xiàn)將pdf轉(zhuǎn)換為png格式的相關(guān)模塊、使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-07-07
  • Python中np.random.randint()參數(shù)詳解及用法實例

    Python中np.random.randint()參數(shù)詳解及用法實例

    numpy.random.randint()函數(shù)不僅可以生成一維隨機(jī)數(shù)組,也可以生成多維度的隨機(jī)數(shù)組,下面這篇文章主要給大家介紹了關(guān)于Python中np.random.randint()參數(shù)詳解及用法的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Python爬取城市租房信息實戰(zhàn)分享

    Python爬取城市租房信息實戰(zhàn)分享

    這篇文章主要介紹了Python爬取城市房租房信息實戰(zhàn)分享,先單線程爬蟲,測試可以成功爬取之后再優(yōu)化為多線程,最后存入數(shù)據(jù)庫,需要的小伙伴可以參考一下的相關(guān)資料
    2022-04-04
  • Python NumPy中diag函數(shù)的使用說明

    Python NumPy中diag函數(shù)的使用說明

    這篇文章主要介紹了Python NumPy中diag函數(shù)的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • python中os.path.join()函數(shù)實例用法

    python中os.path.join()函數(shù)實例用法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中os.path.join()函數(shù)實例用法,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-05-05
  • 100行Python代碼實現(xiàn)每天不同時間段定時給女友發(fā)消息

    100行Python代碼實現(xiàn)每天不同時間段定時給女友發(fā)消息

    這篇文章主要介紹了100行Python代碼,每天不同時間段定時給女友發(fā)消息,本文給出了實現(xiàn)思路,代碼簡單易懂非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Python中byte字符串轉(zhuǎn)string的實現(xiàn)

    Python中byte字符串轉(zhuǎn)string的實現(xiàn)

    本文主要介紹了Python中byte字符串轉(zhuǎn)string的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評論