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