pandas數(shù)據(jù)缺失的兩種處理辦法
數(shù)據(jù)缺失
通常有兩種情況:
- 空,None等,在pandas是NAN(和np的nan一樣)
- 另一種就是0
1.為NaN數(shù)據(jù)的處理
1.判斷這列有沒(méi)有NaN
has_nan = df['age'].isnull().any() print(has_nan)
或者直接在控制臺(tái)根據(jù)數(shù)據(jù)進(jìn)行判斷
2.處理方式
假設(shè)我 操作的是original_publication_year
這一列,如何操作才能得到過(guò)濾后的顯示樣式
處理方式1:只考慮單列
df2 = df[pd.notnull(df["original_publication_year"])
這行代碼的目的是 去除 original_publication_year 列中含有 NaN 值的行,并生成一個(gè)新的 DataFrame(df2),包含了所有 original_publication_year 列中不含 NaN 值的行。
3. df["original_publication_year"] 是獲取 df 數(shù)據(jù)框中的 original_publication_year 這一列。
4. pd.notnull(df["original_publication_year")用于檢查數(shù)據(jù)中的每個(gè)元素是否不是 NaN。返回一個(gè)布爾值的 Series.
True 的行會(huì)被保留;
False 的行會(huì)被排除(Book2何Book4被去除)。
5. 返回一個(gè)所有 original_publication_year 列中不是NaN 的行新的DataFrame
處理方式2:刪除NaN所在的行
dropna(axis=0,how='any',inplace=False)
any表示有就刪,all表示全部是NaN才刪
inplace表示是否進(jìn)行原地修改
處理方式3:填充數(shù)據(jù)
mean_value = df["original_publication_year"].mean() # 計(jì)算均值 df_filled=df["original_publication_year"].fillna(mean_value)
t.fillna(t.mean()) #填充均值 t["列名"]=t["列名"].fillna(t["列名"].mean()) #單獨(dú)對(duì)某一列進(jìn)行操作 t.fiallna(t.median()) #填充中值 t.fillna(0)
2:為0數(shù)據(jù)的處理
t[t==0]=np.nan # 賦值為NaN # 當(dāng)然并不是每次為0的數(shù)據(jù)都需要處理 # 計(jì)算平均值等情況,nan是不參與計(jì)算的,但是0會(huì)的
設(shè)置成NaN后用處理NaN的方法處理。
到此這篇關(guān)于pandas數(shù)據(jù)缺失的處理辦法解決的文章就介紹到這了,更多相關(guān)pandas數(shù)據(jù)缺失內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pandas檢查dataFrame中的NaN實(shí)現(xiàn)
本文主要介紹了Pandas檢查dataFrame中的NaN實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01使用Python腳本對(duì)GiteePages進(jìn)行一鍵部署的使用說(shuō)明
剛好之前有了解過(guò)python的自動(dòng)化,就想著自動(dòng)化腳本,百度一搜還真有類似的文章。今天就給大家分享下使用Python腳本對(duì)GiteePages進(jìn)行一鍵部署的使用說(shuō)明,感興趣的朋友一起看看吧2021-05-05在Python中通過(guò)機(jī)器學(xué)習(xí)實(shí)現(xiàn)人體姿勢(shì)估計(jì)
姿態(tài)檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)活躍研究領(lǐng)域。這篇文章將為大家介紹在Python中如何利用機(jī)器學(xué)習(xí)進(jìn)行人體姿勢(shì)估計(jì),感興趣的小伙伴可以了解一下2021-12-12基于scrapy實(shí)現(xiàn)的簡(jiǎn)單蜘蛛采集程序
這篇文章主要介紹了基于scrapy實(shí)現(xiàn)的簡(jiǎn)單蜘蛛采集程序,實(shí)例分析了scrapy實(shí)現(xiàn)采集程序的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04Python實(shí)現(xiàn)LR1文法的完整實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)LR1文法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Python?watchdog靈活監(jiān)控文件和目錄的變化
Python?Watchdog是一個(gè)強(qiáng)大的Python庫(kù),它提供了簡(jiǎn)單而靈活的方式來(lái)監(jiān)控文件系統(tǒng)的變化,本文將詳細(xì)介紹Python?Watchdog的用法和功能,包括安裝、基本用法、事件處理以及實(shí)際應(yīng)用場(chǎng)景,并提供豐富的示例代碼2024-01-01使用Python防止SQL注入攻擊的實(shí)現(xiàn)示例
這篇文章主要介紹了使用Python防止SQL注入攻擊的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05