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

Python3?DataFrame缺失值的處理方法

 更新時間:2022年05月12日 14:13:22   作者:古月財經(jīng)之月光寶盒  
這篇文章主要介紹了Python3?DataFrame缺失值的處理,包括缺失值的判斷缺失值數(shù)據(jù)的過濾及缺失值數(shù)據(jù)的填充,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、缺失值的判斷

在通過Pandas做數(shù)據(jù)分析時,數(shù)據(jù)中往往會因為一些原因而出現(xiàn)缺失值NaN (Nota number)o比如前文中的例子,當(dāng)兩個DataFrame對象進行簡單運算時,無法匹配的位置會出現(xiàn)缺失值NaN或者None.

isnull ( )和notnull ( )方法都可以用于判斷數(shù)據(jù)是否為缺失值( NaN或者None).如果是缺失值,則isnull()返回值為True, notnull()返回值為False.

df2
Out[170]: 
      A     B     C   D
a   2.0   4.0   6.0 NaN
b   6.0   8.0  10.0 NaN
c  10.0  12.0  14.0 NaN
 
df2.isnull()
Out[171]: 
       A      B      C     D
a  False  False  False  True
b  False  False  False  True
c  False  False  False  True
 
df2.notnull()
Out[172]: 
      A     B     C      D
a  True  True  True  False
b  True  True  True  False
c  True  True  True  False

二、缺失值數(shù)據(jù)的過濾

有時遇到包含缺失值的數(shù)據(jù)處理起來比較簡單,只需要保留有數(shù)值的數(shù)據(jù)即可:

df2
Out[182]: 
      A     B     C    D
a   2.0   4.0   6.0  NaN
b   6.0   8.0  10.0  NaN
c  10.0  12.0  14.0  1.0
 
#把D列中的缺失值過濾掉
df2.D[df2.D.notnull()]
Out[183]: 
c    1.0
Name: D, dtype: float64

三、缺失值數(shù)據(jù)的填充

有時處理數(shù)據(jù)時我們會想將缺失值用實際的值做替代,Pandas包里也有函數(shù)可以調(diào) 用:DataFrame.fillna(value=None, method = None, axis = None, inplace=False, limit=None)

參數(shù)value是在缺失值處填充的值,可以是數(shù)值數(shù)字,也可以是字符串;method 是填充的方式,默認為None,也可以取值為ffin、pad、bfill或backfill,其中ffill/pad是用行或列方向上的上一個觀測值來填充缺失值,bfill/backfin是用行或列方向上的下一個觀測 值來填充;axis與method配合使用,指定行(axis=l)或列(axis=0)的方向;limit=None 時,會填充連續(xù)的缺失值,如果指定數(shù)值的話,比如limit=2,只會依次填充連續(xù)NaN值的 指定數(shù)字個數(shù)(比如2個);若inplace=False則不會變更原DataFrame,若inplace=True, 則會改變原DataFrame。

import pandas as pd
import numpy as np
h2h2df=pd.DataFrame(np.arange(1,21).reshape(5,4),index=list('abcde'),columns=list("ABCD"))
h2df.loc['c','A']=np.nan
h2df.loc['b':'d','C']=np.nan
h2df
Out[192]: 
      A   B     C   D
a   1.0   2   3.0   4
b   5.0   6   NaN   8
c   NaN  10   NaN  12
d  13.0  14   NaN  16
e  17.0  18  19.0  20
h2df.fillna(0)
Out[193]: 
      A   B     C   D
a   1.0   2   3.0   4
b   5.0   6   0.0   8
c   0.0  10   0.0  12
d  13.0  14   0.0  16
e  17.0  18  19.0  20
h2df.fillna(method='ffill')
Out[194]: 
      A   B     C   D
a   1.0   2   3.0   4
b   5.0   6   3.0   8
c   5.0  10   3.0  12
d  13.0  14   3.0  16
e  17.0  18  19.0  20
h2df.fillna(method='pad')
Out[197]: 
      A   B     C   D
a   1.0   2   3.0   4
b   5.0   6   3.0   8
c   5.0  10   3.0  12
d  13.0  14   3.0  16
e  17.0  18  19.0  20
h2df.fillna(method='backfill',axis=1)
Out[196]: 
      A     B     C     D
a   1.0   2.0   3.0   4.0
b   5.0   6.0   8.0   8.0
c  10.0  10.0  12.0  12.0
d  13.0  14.0  16.0  16.0
e  17.0  18.0  19.0  20.0
h2df.fillna(method='ffill',limit=2)
Out[198]: 
      A   B     C   D
a   1.0   2   3.0   4
b   5.0   6   3.0   8
c   5.0  10   3.0  12
d  13.0  14   NaN  16
e  17.0  18  19.0  20

四、缺失值的刪除

Pandas提供對包含缺失值的數(shù)據(jù)集進行行列的刪除操作:

DataFrame.dropna(axis=0, how=‘any’, thresh=None) 

axis = 0指刪除包含缺失值的行,axis = 1指刪除包含缺失值的列,默認為0; how=any表示只要有一個缺失值就刪除該行(列),how = all表示只有當(dāng)所有的元素都為缺失值時才刪除該行(列),how默認取值為any;thresh默認為None。當(dāng)thresh=5時表示只有當(dāng)某行(列)缺失值的數(shù)量大于或者等于5時刪除該 行(列)。

df
Out[199]: 
      A   B     C   D
a   1.0   2   3.0   4
b   5.0   6   NaN   8
c   NaN  10   NaN  12
d  13.0  14   NaN  16
e  17.0  18  19.0  20
 
df.dropna(axis=0)
Out[200]: 
      A   B     C   D
a   1.0   2   3.0   4
e  17.0  18  19.0  20
 
df.dropna(axis=1)
Out[201]: 
    B   D
a   2   4
b   6   8
c  10  12
d  14  16
e  18  20

到此這篇關(guān)于Python3 DataFrame缺失值的處理的文章就介紹到這了,更多相關(guān)Python3 DataFrame缺失值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python List列表對象內(nèi)置方法實例詳解

    Python List列表對象內(nèi)置方法實例詳解

    這篇文章主要介紹了Python List列表對象內(nèi)置方法,結(jié)合實例形式詳細分析了Python列表list各種常用內(nèi)置方法的功能與使用技巧,需要的朋友可以參考下
    2019-10-10
  • Python開發(fā)企業(yè)微信機器人每天定時發(fā)消息實例

    Python開發(fā)企業(yè)微信機器人每天定時發(fā)消息實例

    這篇文章主要介紹了Python開發(fā)企業(yè)微信機器人每天定時發(fā)消息實例,需要的朋友可以參考下
    2020-03-03
  • 如何使用virtualenv管理python環(huán)境

    如何使用virtualenv管理python環(huán)境

    這篇文章主要介紹了如何使用virtualenv管理python環(huán)境,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Python測試框架:pytest學(xué)習(xí)筆記

    Python測試框架:pytest學(xué)習(xí)筆記

    這篇文章主要介紹了Python測試框架:pytest的相關(guān)資料,幫助大家更好的利用python進行單元測試,感興趣的朋友可以了解下
    2020-10-10
  • python3中bytes和string之間的互相轉(zhuǎn)換

    python3中bytes和string之間的互相轉(zhuǎn)換

    這篇文章主要介紹了python3中bytes和string之間的互相轉(zhuǎn)換,文中給出了詳細的介紹和示例代碼,相信對大家具有一定的參考價值,有需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-02-02
  • 從零學(xué)python系列之新版本導(dǎo)入httplib模塊報ImportError解決方案

    從零學(xué)python系列之新版本導(dǎo)入httplib模塊報ImportError解決方案

    在使用新版python打開舊版本代碼的時候,可能會有些報錯或者不兼容的情況出現(xiàn),今天我們就來分析其中的一種情況
    2014-05-05
  • 一文詳解Python中實現(xiàn)單例模式的幾種常見方式

    一文詳解Python中實現(xiàn)單例模式的幾種常見方式

    這篇文章主要為大家介紹了Python中實現(xiàn)單例模式的幾種常見方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 詳解Python中pyautogui庫的最全使用方法

    詳解Python中pyautogui庫的最全使用方法

    這篇文章主要介紹了詳解Python中pyautogui庫的最全使用方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python機器學(xué)習(xí)包mlxtend的安裝和配置詳解

    python機器學(xué)習(xí)包mlxtend的安裝和配置詳解

    這篇文章主要介紹了python機器學(xué)習(xí)包mlxtend的安裝和配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python中base64編碼簡介

    python中base64編碼簡介

    Base64是一種任意二進制到文本字符串的編碼方法,常用于在URL、Cookie、網(wǎng)頁中傳輸少量二進制數(shù)據(jù),Base64是一種用64個字符來表示任意二進制數(shù)據(jù)的方法,這篇文章主要介紹了python中base64編碼,需要的朋友可以參考下
    2022-12-12

最新評論