天天看點

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

不多說,直入主題,直接導入相關子產品和内容。

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
%matplotlib inline
           

處理缺失值

檢視缺失值

先來建立一個DataFrame對象。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

然後,我們用DataFrame對象的isnull()和notnull()方法檢視缺失值。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

顯然,這樣子做并沒有什麼明顯的實際意義,通常我們會配合sum()函數來使用。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

當然,我們還可以像下面這麼用,直接得出缺失值的數量。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

還有一個檢視缺失值的方法,就是使用下面的語句:

df1.info()
           

至于是什麼效果,我就不說了,你可以自己試試。

删除缺失值

删除,我使用dropna()方法實作的。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

注意,在這裡可以給它傳入一個how='all’參數。然後,它就會隻删除那些全部是Nan的行。

我們來建立一個如下所示的DataFrame對象。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

還是那句,代碼我就不貼了,你是時候嘗試着手動的建立資料了。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

補充缺失值

我們先來回顧一下DataFrame對象具體是什麼内容。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

然後,通過fillna()方法補充缺失值。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

上面是直接修改的,并沒有在原來的對象中儲存修改。要做到這一點,我們要使用一個inplace參數。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

當然,我們可以指定補充的方法。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

移除重複資料

首先,建立一個DataFrame對象。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

代碼如下:

data = {
    'name':['小明', '小紅', '小黑', '小明'],
    'sex':['female', 'male', 'female', 'female'],
    'year':[1998, 1998,1997,1998],
    'height':['180cm', '165cm', '170cm', '180cm']
}
df3 = DataFrame(data)
df3
           

自動識别重複資料并做到删除,我們要借助一個duplicated()方法。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

這樣子删除,顯然是不人性化的。我們可以通過指定部分列作為判斷重複資料的依據。具體方法是使用drop_duplicates()方法。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料

我們還可以指定保留哪個重複的資料項。具體方法時通過keep參數實作的。

Python資料分析07——資料清洗(一)處理缺失值移除重複資料