不多說,直入主題,直接導入相關子產品和内容。
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
%matplotlib inline
處理缺失值
檢視缺失值
先來建立一個DataFrame對象。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPR1EenRUT0EEROBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5ATNxQjNwAjMxMTNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
然後,我們用DataFrame對象的isnull()和notnull()方法檢視缺失值。
顯然,這樣子做并沒有什麼明顯的實際意義,通常我們會配合sum()函數來使用。
當然,我們還可以像下面這麼用,直接得出缺失值的數量。
還有一個檢視缺失值的方法,就是使用下面的語句:
df1.info()
至于是什麼效果,我就不說了,你可以自己試試。
删除缺失值
删除,我使用dropna()方法實作的。
注意,在這裡可以給它傳入一個how='all’參數。然後,它就會隻删除那些全部是Nan的行。
我們來建立一個如下所示的DataFrame對象。
還是那句,代碼我就不貼了,你是時候嘗試着手動的建立資料了。
補充缺失值
我們先來回顧一下DataFrame對象具體是什麼内容。
然後,通過fillna()方法補充缺失值。
上面是直接修改的,并沒有在原來的對象中儲存修改。要做到這一點,我們要使用一個inplace參數。
當然,我們可以指定補充的方法。
移除重複資料
首先,建立一個DataFrame對象。
代碼如下:
data = {
'name':['小明', '小紅', '小黑', '小明'],
'sex':['female', 'male', 'female', 'female'],
'year':[1998, 1998,1997,1998],
'height':['180cm', '165cm', '170cm', '180cm']
}
df3 = DataFrame(data)
df3
自動識别重複資料并做到删除,我們要借助一個duplicated()方法。
這樣子删除,顯然是不人性化的。我們可以通過指定部分列作為判斷重複資料的依據。具體方法是使用drop_duplicates()方法。
我們還可以指定保留哪個重複的資料項。具體方法時通過keep參數實作的。