pandas 是 Python 中一款用於數據處理和分析的優秀庫。而在數據處理過程中,缺失值是一個經常被遇到的問題。在 pandas 中,可以使用 pandasNaN 來高效地處理缺失值。
一、創建pandasNaN對象
import pandas as pd import numpy as np df = pd.DataFrame({'A': [1, 2, np.nan, 4]}) print(df)
以上代碼會輸出:
A 0 1.0 1 2.0 2 NaN 3 4.0
可以看到,數據框中存在一個 NaN 值,即一個缺失值。
在 pandas 中,可以通過 pd.isna() 和 pd.notna() 函數來進行缺失值的判斷。
pd.isna(df)
輸出:
A 0 False 1 False 2 True 3 False
pd.notna(df)
輸出:
A 0 True 1 True 2 False 3 True
二、處理缺失值
1. 刪除缺失值
在 pandas 中使用 dropna() 函數可以直接刪除缺失值所在的行或列。
df.dropna(axis=0) # 刪除缺失值所在的行 df.dropna(axis=1) # 刪除缺失值所在的列
如果想要對刪除操作進行持久化,可以使用 inplace=True 參數。
2. 填充缺失值
雖然刪除缺失值是一種處理方式,但是這樣可能會導致其他有用的信息的丟失。更為常用的方式是填充缺失值。在 pandas 中,使用 fillna() 函數可以對缺失值進行填充。
df.fillna(value=0) # 將缺失值填充為 0 df.fillna(method='ffill') # 將缺失值向前填充 df.fillna(method='bfill') # 將缺失值向後填充
三、數據替代
在處理數據時,有時候不需要在原數據上進行缺失值的填充,而是要將操作後的數據置換到原數據的位置。
df.replace(to_replace=np.nan, value=-1)
以上代碼將數據框中的 NaN 值看作缺失值,將其替換為 -1。replace() 函數還可以通過正則表達式等方式進行替換。
四、NaN對象的比較
在 pandasNaN 中,np.nan 不等於任何值,包括它自己。所以可以使用 np.isnan() 函數來判斷數據是否為 NaN。
a = np.nan np.isnan(a) # True
五、小結
pandasNaN 是一個十分有用的數據處理工具,可以用於缺失值的刪除、填充和替換等操作。在實際應用中,需要根據實際情況選擇不同的操作方式。
原創文章,作者:OEQG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145992.html