isna()
釋義
篩選爲NaN的布爾值,可接受單個標量或者數組
舉例
篩選stu_name
爲NaN的所有行:
df = pd.DataFrame({'stu_name': ['Tom', 'Tony', 'Jack', 'Jack', np.nan], 'stu_age': [16, 16, 15, np.nan, 21]})
print(df)
df1 = df[df['stu_name'].isna()]
print(df1)
fillna()
釋義
對NaN值進行填充,官方文檔
常用參數
- value:用來填充的值,只能爲
標量/dict/Series/DataFrame
- method:填充的方式
- backfill/bfill:用後一個非NaN值填充本NaN值
- pad/ffill:用前一個非NaN值來填充本Nan值
- None:用
value
參數指定的值來填充(默認方式)
- inplace:是否修改原對象
舉例
- 把所有的NaN填充爲橫槓
-
df = pd.DataFrame({'stu_name': ['Tom', 'Tony', 'Jack', 'Jack', np.nan], 'stu_age': [16, 16, 15, np.nan, 21]})
print(df)
df1 = df.fillna('-')
print(df1)
stu_name
爲NaN的填充爲UNKNOWN
,stu_age
爲NaN的填充爲-1
df = pd.DataFrame({'stu_name': ['Tom', 'Tony', 'Jack', 'Jack', np.nan], 'stu_age': [16, 16, 15, np.nan, 21]})
print(df)
df2 = df.fillna({'stu_name': 'UNKNOWN', 'stu_age': -1})
print(df2)