相關性和協方差
相關性和協方差是兩個重要的統計量,pandas計算這兩個量的函數分別是corr( )和cov( )。這兩個量的計算通常涉及兩個Series對象。
另外一種情況是,計算單個DataFrame對象的相關性和協方差,返回兩個新DataFrame對象形式的矩陣。
用corrwith( )方法可以計算DataFrame對象的列或行與Series對象或其他DataFrame對象元素兩兩之間的相關性。
NaN數據鄭州人流醫院那家好:www.zzchxb120.com鄭州×××多少錢:www.zztjyiyuan.com
由前幾節可知,補上缺失的數據很容易,它們在數據結構中用NaN來表示,以便於識別。在數據分析過程中,有些元素在某個數據結構中沒有定義,這種情況很常見。
pandas意在更好地管理這種可能出現的情況。事實上,這一節我們將講解缺失值的處理方法,這樣很多問題就可以避免。比如,pandas庫在計算各種描述性統計量的時候,並沒有將NaN值考慮在內。
爲元素賦NaN值
有時需要爲數據結構中的元素賦NaN值,這時用NumPy的np.NaN(或np.nan)即可。
過濾NaN
數據分析過程中,有幾種去除NaN的方法。然而,若要人工逐一刪除NaN元素很麻煩,也很不安全,因爲無法確保刪除了所有的NaN。而dropna( )函數可以幫我們解決這個問題。
另一種方法是,用notnull( )函數作爲選取元素的條件,實現直接過濾。
DataFrame處理起來要稍微複雜點。如果對這類對象使用dropna( )方法,只要行或列有一個NaN元素,該行或列的全部元素都會被刪除。
因此,爲了避免刪除整行或整列,需要用how選項,指定其值爲all,告知dropna( )函數只刪除所有元素均爲NaN的行或列。
爲NaN元素填充其他值
刪除NaN元素,可能會刪除跟數據分析相關的其他數據,所以與其冒着風險去過濾NaN元素,不如用其他數值替代NaN。fillna( )函數能夠滿足大多數需要。這個函數以替換NaN的元素作爲參數。所有NaN值都可以替換爲同一個元素,如下所示:
或者,若要將不同列的NaN替換爲不同的元素,依次指定列名稱及要替換成的元素即可。