缺失值、重複值處理
阿新 • • 發佈:2020-07-16
缺失值處理
1.當缺失值的比例佔資料樣本的比例比較小,則可以直接刪除。
2.資料補齊
檢視缺失值
df = pd.read_excel(r'缺失值處理.xlsx')
df
每列缺失值的總數
df.isnull().sum()
列缺失值所佔的比例
#apply
df.apply(lambda x: sum(x.isnull())/len(x), axis=0)
刪除缺失值
#dropna
df.dropna(inplace=True)
#刪除列
df.dropna(axis=1
# 設定整行或整列為空時才刪除
df.dropna(how='all'))
暫無的替換
#1.匯入資料時直接替換 na_values df = pd.read_excel('缺失值處理_替換值.xlsx', na_values='暫無') df #2.np.nan df.replace('暫無', np.nan, inplace=True)
替換單位(eg:萬)
df['售價'].apply(lambda x:str(x).replace('萬',''))
#!!缺失值出錯=>
df['售價'].apply(lambda x:str(x).replace('萬','') if x is not np.nan else x)
計算平均值
df['售價']=df['售價'].astype(np.float)
替換缺失值
#fillna
df.fillna({'售價': df['售價'].mean()})
#mean是平均值
重複值
重複值處理
#df.drop_duplicates() df=pd.read_excel(r'重複值處理.xlsx') df.drop_duplicates() #保留位置keep='first','last' #判重 subset=['日期','售價']
重置index
#df.resetindex
df.reset_index()