Pandas中缺失值/NaN值/空值的處理


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:是否修改原對象

舉例

  1. 把所有的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)
  1. stu_name爲NaN的填充爲UNKNOWNstu_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)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章