null值,即為缺失數(shù)據(jù)。
- 1 判斷是否為NAN
import pandas as pd
df = pd.read_csv(path) # path為csv文件路徑
df[pd.isnull(df["地市"])] # 判斷df數(shù)據(jù)中地市一列是否為nan值
- 2 刪除nan值
dropna(axis=0,how="any",inplace=False) # axis=0刪除行,how="any"表示只要有nan值,就刪除;
# how="all"表示一行數(shù)據(jù)全為nan的刪除;
# inplace是否原地修改,inplace=True表示修改df數(shù)據(jù),df數(shù)據(jù)變化
# inplace=Faulse 表不修改df數(shù)據(jù)
t = df.dropna(axis=0) # 刪除該行數(shù)據(jù)
t = df.dropna(axis=0,how="any",inplace=False) # t中數(shù)據(jù)變化,df不變化
t = df.dropna(axis=0,how="any",inplace=True) # df中數(shù)據(jù)變化
- 3 填充數(shù)據(jù)
df.fillna(0) # 將df數(shù)據(jù)中的na填充為0
df.fillna(df.mean()) # 將nan值所在列的數(shù)據(jù)求均值,然后填入nan
df["年齡"].fillna(df["年齡"].mean()) #將"年齡"一列中年齡的均值填入na
- 4 處理為0的數(shù)據(jù)
import numpy as np
df[df==0] = np.nan # 將為0的數(shù)據(jù)填入nan,并非所有的0都要處理,
# 因?yàn)橛?jì)算平均的情況,nan不參與計(jì)算,但0會(huì)參與計(jì)算。