最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pandas如何將dataframe中的NaN替換成None

 更新時間:2023年08月15日 14:31:45   作者:什么都干的派森  
這篇文章主要介紹了pandas如何將dataframe中的NaN替換成None問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

pandas將dataframe的NaN替換成None

df = df.where(df.notnull(), None)

dataframe缺失值(NaN)處理

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

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

  • 第一種——填補。
  • 第二種——不處理。

當你使用sklearn庫進行機器學習訓練時,一般對于缺失值要求較為嚴格,因此,需要進行填補,至于填補為何值,則需要根據(jù)業(yè)務需求進行。

當你使用lightgbm庫一類庫進行機器學習訓練時,一般不需要處理缺失值,因為這類算法,天然支持缺失值處理,它會將缺失值單獨分為一類。

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

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

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

判斷缺失值的函數(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

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

通過對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
#對缺失值進行填補(除了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循環(huán)控制之break和continue流程控制語句

    python循環(huán)控制之break和continue流程控制語句

    這篇文章主要介紹了python循環(huán)控制之break流程控制語句,Python中提供了兩個關(guān)鍵字用來控制循環(huán)語句,分別是break和continue,本文都有介紹,需要的朋友可以參考一下
    2022-03-03
  • python創(chuàng)建與遍歷List二維列表的方法

    python創(chuàng)建與遍歷List二維列表的方法

    這篇文章主要介紹了python創(chuàng)建與遍歷List二維列表的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-08-08
  • Python 字典與字符串的互轉(zhuǎn)實例

    Python 字典與字符串的互轉(zhuǎn)實例

    下面小編就為大家?guī)硪黄狿ython 字典與字符串的互轉(zhuǎn)實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • python實現(xiàn)MQTT客戶端通信的示例代碼

    python實現(xiàn)MQTT客戶端通信的示例代碼

    本文主要介紹了python實現(xiàn)MQTT客戶端通信的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-12-12
  • Python讀取大型數(shù)據(jù)文件的6種方式匯總

    Python讀取大型數(shù)據(jù)文件的6種方式匯總

    在 Python 中,我們可以使用多種方法讀取大型數(shù)據(jù)文件,本文主要為大家介紹6個常用的Python讀取大型數(shù)據(jù)文件的方法,希望對大家有所幫助
    2023-05-05
  • Python使用raise報錯拋出異常顯示Unicode碼的解決方法

    Python使用raise報錯拋出異常顯示Unicode碼的解決方法

    在 Python 開發(fā)中,我們經(jīng)常使用 raise 拋出異常來處理錯誤情況,但有時候,異常信息中的中文或其他非 ASCII 字符會被顯示為 Unicode 轉(zhuǎn)義序列,下面我們就來看看如何解決吧
    2026-04-04
  • python類特殊方法使用示例講解

    python類特殊方法使用示例講解

    這篇文章主要為大家介紹了python類特殊方法使用示例講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 詳解Python爬取并下載《電影天堂》3千多部電影

    詳解Python爬取并下載《電影天堂》3千多部電影

    這篇文章主要介紹了Python爬取并下載《電影天堂》3千多部電影,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • python 合并表格詳解

    python 合并表格詳解

    這篇文章主要為大家詳細介紹了python 合并表格的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • python處理csv數(shù)據(jù)動態(tài)顯示曲線實例代碼

    python處理csv數(shù)據(jù)動態(tài)顯示曲線實例代碼

    這篇文章主要介紹了python處理csv數(shù)據(jù)動態(tài)顯示曲線實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論

中方县| 德惠市| 常宁市| 文登市| 白沙| 兴隆县| 黔东| 宜宾县| 清原| 阿坝| 清新县| 宁明县| 平远县| 宁明县| 梁山县| 吉隆县| 原阳县| 汪清县| 上饶市| 绥中县| 皋兰县| 加查县| 郁南县| 阳谷县| 晋州市| 邵阳市| 聊城市| 罗源县| 乐清市| 周宁县| 北碚区| 军事| 凤台县| 綦江县| 泸州市| 宜昌市| 绿春县| 四川省| 宿迁市| 屏南县| 饶阳县|