Q:Pandas如何探索遺漏值(Missing Value)?
如果想要探索每一個欄位資料是否有遺漏值(Missing Value),通常會使用Pandas套件的isnull()方法(Method)來查看,如下範例:
df = pd.read_csv('mycsvfile.csv')
print(df.isnull())
Pandas套件的isnull()方法(Method)會將所有欄位資料內容顯示為布林值(Boolean),只要是遺漏值(Missing Value)就會顯示為True。
但是這樣並沒有辦法讓我們快速瞭解每個欄位的遺漏值(Missing Value)狀況,這時候就可以搭配使用Pandas套件的sum()方法(Method),將每個欄位進行加總,瞭解每個欄位的遺漏值(Missing Value)個數,如下範例:
df = pd.read_csv('mycsvfile.csv')
print(df.isnull().sum())
由於在Python中,True代表1,False代表0,所以利用Pandas套件的isnull()與sum()方法(Method),就能夠知道資料集的每個欄位遺漏值(Missing Value)個數。
Q:Pandas如何檢視遺漏值(Missing Value)?
探索了每個欄位的遺漏值(Missing Value)個數後,如果想要特別檢視特定欄位的遺漏值(Missing Value)資料內容,就可以利用以下的Pandas套件篩選語法:
df = pd.read_csv('mycsvfile.csv')
print(df[df.date_added.isnull()])
以上範例,就是檢視date_added(新增日期)欄位的11筆遺漏值(Missing Value)資料內容。
Q:Pandas dropna()方法(Method)如何使用?
Pandas套件提供了dropna()方法(Method)來因應不同的需求,包含:
1.dropna(how='any'):任一欄位有遺漏值(Missing Value)的資料就移除,如下範例:
df = pd.read_csv('mycsvfile.csv')
print(df.dropna(how='any'))
2.dropna(how='all'):所有欄位皆有遺漏值(Missing Value)的資料就移除,如下範例:
df = pd.read_csv('mycsvfile.csv')
print(df.dropna(how='all'))
3.dropna(subset=['欄位名稱', ...], how='any'):任一個指定的欄位有遺漏值(Missing Value)的資料就移除,如下範例:
df = pd.read_csv('mycsvfile.csv')
print(df.dropna(subset=['director', 'date_added'], how='any'))
4.dropna(subset=['欄位名稱', ...], how='all'):指定的欄位皆有遺漏值(Missing Value)的資料就移除,如下範例:
df = pd.read_csv('mycsvfile.csv')
print(df.dropna(subset=['director', 'date_added'], how='all'))
Q:Pandas fillna()方法(Method)如何使用?
另一個遺漏值(Missing Value)資料的處理方式,就是填入自訂的值,這時候就能利用Pandas套件的fillna()方法(Method),指定value關鍵字參數(Keyword Argument)為想要填入的值即可,如下範例:
df = pd.read_csv('mycsvfile.csv')
df['director'].fillna(value='Not Found', inplace=True)