python之NAN和INF值處理方式
一、NAN和INF值處理
首先我們要知道這兩個英文單詞代表的什么意思:
NAN
:Not A number,不是一個數(shù)字的意思,但是他是屬于浮點類型的,所以想要進行數(shù)據(jù)操作的時候需要注意他的類型。INF
:Infinity,代表的是無窮大的意思,也是屬于浮點類型。np.inf表示正無窮大,-np.inf表示負無窮大,一般在出現(xiàn)除數(shù)為0的時候為無窮大。比如2/0。
二、NAN一些特點
- NAN和NAN不相等。比如np.NAN != np.NAN這個條件是成立的。
- NAN和任何值做運算,結(jié)果都是NAN。
有些時候,特別是從文件中讀取數(shù)據(jù)的時候,經(jīng)常會出現(xiàn)一些缺失值。缺失值的出現(xiàn)會影響數(shù)據(jù)的處理。因此我們在做數(shù)據(jù)分析之前,先要對缺失值進行一些處理。處理的方式有多種,需要根據(jù)實際情況來做。一般有兩種處理方式:刪除缺失值,用其他值進行填充。
三、兩種處理方式:刪除缺失值,用其他值進行填充
3.1刪除缺失值
3.1.1 將數(shù)組中的NAN刪掉,那么我們可以換一種思路,就是只提取不為NAN的值
3.1.2 刪除NAN所在的行(刪除后還是二維數(shù)組)
3.2用其他值進行填充
有些時候我們不想直接刪掉,比如有一個成績表,分別是數(shù)學(xué)和英語,但是因為某個人在某個科目上沒有成績,那么此時就會出現(xiàn)NAN的情況,這時候就不能直接刪掉了,就可以使用某些值進行替代。
假如有以下表格:
數(shù)學(xué) | 英語 |
---|---|
59 | 89 |
90 | 32 |
78 | 45 |
34 | NAN |
NAN | 56 |
23 | 56 |
如果想要求每門成績的總分,以及每門成績的平均分,那么就可以采用某些值替代。比如求總分,那么就可以把NAN替換成0,如果想要求平均分,那么就可以把NAN替換成其他值的平均值。示例代碼如下:
總結(jié)
1.NAN: Not A Number的簡寫,不是一個數(shù)字,但是他是屬于浮點類型。
2.INF:無窮大,在除數(shù)為0的情況下會出現(xiàn)INF。
3.NAN和所有的值進行計算結(jié)果都是等于NAN
4.NAN != NAN
5.可以通過np.isnan來判斷某個值是不是NAN。
6.處理值的時候,可以通過刪除NAN的形式進行處理,也可以通過值的替換進行處理。
7.np.delete比較特殊,他通過axis=0來代表行,而其他大部分函數(shù)是通過axis=1來代表行。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于python中time和datetime的區(qū)別與用法
這篇文章主要介紹了關(guān)于python中time和datetime的區(qū)別與用法,Python中封裝了很多實用的函數(shù),那么關(guān)于時間的函數(shù)time和datetime有什么區(qū)別和作用,讓我們來看看吧2023-03-03python GUI庫圖形界面開發(fā)之PyQt5選項卡控件QTabWidget詳細使用方法與實例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5選項卡控件QTabWidget詳細使用方法與實例,需要的朋友可以參考下2020-03-03淺談Python描述數(shù)據(jù)結(jié)構(gòu)之KMP篇
這篇文章主要介紹了Python描述數(shù)據(jù)結(jié)構(gòu)之KMP篇,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Python判斷字符串是否為字母或者數(shù)字(浮點數(shù))的多種方法
本文給大家?guī)砣N方法基于Python判斷字符串是否為字母或者數(shù)字(浮點數(shù)),非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08