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

如何一分鐘內(nèi)找出pandas DataFrame某列中的nan值

 更新時間:2023年09月12日 14:42:31   作者:六個橙子_lc  
這篇文章主要介紹了如何一分鐘內(nèi)找出pandas DataFrame某列中的nan值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一分鐘內(nèi)找出pandas DataFrame某列中的nan值

例如

對格式為DataFrame的變量element,找出其中TEM列里所有的nan值

element=read_element(TRHCLO_data_path,end_trans,sta_info)

步驟一

element_right=element[~(np.isnan(element["TEM"]))] #(element["TEM"]).isna()
element_nan=(element[np.isnan(element["TEM"])])

此時程序報錯:

ufunc ‘isnan’ not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ‘‘safe’’

步驟二

對查詢列(TEM列)的數(shù)據(jù)類型進(jìn)行一次標(biāo)準(zhǔn)處理即可

element["TEM"]=(element["TEM"]).astype(float)  #對下面的np.isnan查詢很必要,否則會報格式錯誤
element_right=element[~(np.isnan(element["TEM"]))] 
element_nan=(element[np.isnan(element["TEM"])])

dataframe缺失值(NaN)處理

在進(jìn)行機(jī)器學(xué)習(xí)的特征工程時,常常需要根據(jù)選擇的機(jī)器學(xué)習(xí)算法,采用合適的數(shù)據(jù)預(yù)處理方式,特別是對于對于空值(NaN)的處理,常常使人感到困惑。

一般對于NaN,常常有兩種處理方式。

  • 第一種——填補(bǔ)
  • 第二種——不處理

當(dāng)你使用sklearn庫進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練時,一般對于缺失值要求較為嚴(yán)格,因此,需要進(jìn)行填補(bǔ),至于填補(bǔ)為何值,則需要根據(jù)業(yè)務(wù)需求進(jìn)行。

當(dāng)你使用lightgbm庫一類庫進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練時,一般不需要處理缺失值,因為這類算法,天然支持缺失值處理,它會將缺失值單獨分為一類。

本人認(rèn)為,數(shù)據(jù)的缺失,在實際中是存在一定的業(yè)務(wù)含義的,例如月收入的缺失,就反應(yīng)人對于自己收入的不自信,因此在風(fēng)控領(lǐng)域就存在更容易逾期現(xiàn)象。但此時若是進(jìn)行均值的缺失值填補(bǔ),則會使該業(yè)務(wù)含義消失,因此我覺得是不可取的。

數(shù)據(jù)的特征工程決定數(shù)據(jù)質(zhì)量,數(shù)據(jù)質(zhì)量決定模型效果上限,模型參數(shù)決定訓(xùn)練的模型能否逼近理論模型,特征工程的難易復(fù)雜程度決定模型最終上線的工作量。

(以上為本人的一點點見解)

判斷缺失值的函數(shù)有:np.isnan()/ pd.isna()/pd.isnull()。

  • np.isnan():一般用于單個值,也可以用于Series或者DataFrame,但是這里存在一個坑,np.isnan()判斷datetime類型的Series或者DataFrame會報錯。
  • pd.isna()和pd.isnull():用的比較多,一般推薦使用pd.isna()
s1 = pd.Series([1,2,3,np.nan])
np.isnan(s1)
>>> 0    False
	1    False
	2    False
	3     True
	dtype: bool
pd.isna(s1)
>>> 0    False
	1    False
	2    False
	3     True
	dtype: bool
pd.isnull(s1)
>>> 0    False
	1    False
	2    False
	3     True
	dtype: bool

除了以上的方法之外,還有一種較為方便和萬能的方法來判斷缺失值,取出非缺失值進(jìn)行處理(本人一般也采用這種方法)。    

通過對np.nan==np.nan發(fā)現(xiàn),np.nan是不會等于np.nan,因此我們可以通過以下方式取出非缺失值。

np.nan==np.nan
>>> False
s1 = pd.Series([1,2,3,np.nan])
s1==s1
>>> 0 ? ? True
?? ?1 ? ? True
?? ?2 ? ? True
?? ?3 ? ?False
?? ?dtype: bool
#獲取非缺失值
s1[s1==s1]
>>> 0 ? ?1.0
?? ?1 ? ?2.0
?? ?2 ? ?3.0
?? ?dtype: float64
#獲取非缺失值的數(shù)量
len(s1[s1==s1])
>>>3
#對缺失值進(jìn)行填補(bǔ)(除了fillna外的方式)
s1[~(s1==s1)]=0
s1
>>> 0 ? ?1.0
?? ?1 ? ?2.0
?? ?2 ? ?3.0
?? ?3 ? ?0.0
?? ?dtype: float64

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • Python實現(xiàn)彈球小游戲的示例代碼

    Python實現(xiàn)彈球小游戲的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Python如何實現(xiàn)簡單的彈球小游戲,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2022-11-11
  • Python實現(xiàn)簡單拆分PDF文件的方法

    Python實現(xiàn)簡單拆分PDF文件的方法

    這篇文章主要介紹了Python實現(xiàn)簡單拆分PDF文件的方法,可實現(xiàn)將一個PDF文件拆分成指定份數(shù)的功能,涉及pyPdf模塊的使用技巧,需要的朋友可以參考下
    2015-07-07
  • 8行代碼實現(xiàn)Python文件去重

    8行代碼實現(xiàn)Python文件去重

    本文主要介紹了Python文件去重,所以就想使用Python自動化解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 解決Keras 自定義層時遇到版本的問題

    解決Keras 自定義層時遇到版本的問題

    這篇文章主要介紹了解決Keras 自定義層時遇到版本的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python真題案例之二分法查找詳解

    Python真題案例之二分法查找詳解

    這篇文章主要介紹了python實操案例練習(xí),本文給大家分享的案例中主要講解了二分法查找,需要的小伙伴可以參考一下
    2022-03-03
  • Python缺少庫IPython的解決辦法步驟

    Python缺少庫IPython的解決辦法步驟

    在使用Python編寫程序過程中,有時我們會遇到一些錯誤信息,提示我們當(dāng)前環(huán)境缺少某些依賴庫文件,這篇文章主要給大家介紹了關(guān)于Python缺少庫IPython的解決辦法步驟,需要的朋友可以參考下
    2023-12-12
  • Python unittest單元測試框架總結(jié)

    Python unittest單元測試框架總結(jié)

    這篇文章主要介紹了Python unittest單元測試框架總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Python and、or以及and-or語法總結(jié)

    Python and、or以及and-or語法總結(jié)

    這篇文章主要介紹了Python and、or以及and-or語法總結(jié),本文分別給出實例講解它們的使用方法,需要的朋友可以參考下
    2015-04-04
  • pandas實現(xiàn)選取特定索引的行

    pandas實現(xiàn)選取特定索引的行

    下面小編就為大家分享一篇pandas實現(xiàn)選取特定索引的行,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python中三元表達(dá)式的幾種寫法介紹

    Python中三元表達(dá)式的幾種寫法介紹

    今天小編就為大家分享一篇關(guān)于Python中三元表達(dá)式的幾種寫法介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03

最新評論