數據清洗之前,我們必須先明白自己想要幹什麼,達成怎麼樣的效果,然後採取對應的方法來實現這個需求。
以下是對數據一些清洗方法介紹:
1. 查看空值
DataFrame.isna()
- DataFrame.isna()判斷該表的空值情況
- DataFrame.isna().sum()彙總該表空值情況的個數
- DataFrame.isna().sum().sort_values(ascending=False)按空值個數降序顯示
2. 丟棄空值
DataFrame.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
丟棄空值:
- axis
=0
,丟棄含有空值的行;=1
,丟棄含有空值的列。 - how
='any'
,(行或列)只要有元素爲空,就(整行或整列)丟棄;='all'
,(行或列)必須滿足所有值都爲空值,才丟棄(整行或整列)。 - thresh
=10
,丟棄空值個數大於10的行或者列 - subset
=['a','b']
,a列(行)或者b列(行)中有空值就丟棄該列(行)。(指定在哪些區域操作,不指定默認是全表) - inplace
= False
,生成副本,原表不做改變;=True
,在原表裏面做出改變
3. 填充空值
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None)
- value
=0
,用0填充空值。 - method
='ffill'
,用空值前面的數值填充空值;='bfill'
,用空值後面的數值填充空值。(和value參數不能共用)。 - asis
='0'
,代表行;='1'
,代表列。 - limit
=10
,只填充10個空值。 - 後面不用管了。