統計與彙總
pandas對象的統計基本與numpy的數學方法差不多,不過pandas數組都是基於沒有缺失數據的情況下構建的,即當對象中存在NAN值的時候,NaN值將會被自動排除,除非整個切片或對象都是NaN。
pandas對象的sum方法:
data = pd.DataFrame([[1.4,np.nan],[7.1,-4.5],[np.nan,np.nan],[0.75,-1.3]])
print(data)
'''
0 1
0 1.40 NaN
1 7.10 -4.5
2 NaN NaN
3 0.75 -1.3
'''
data.sum()
'''
0 9.25
1 -5.80
dtype: float64
'''
可以傳入對應軸進行運算:
data.sum(axis=1)
'''
0 1.40
1 2.60
2 0.00
3 -0.55
dtype: float64
'''
如果想要保留NaN值,就修改其skipna屬性:
data.sum(axis=1,skipna=False)
'''
0 NaN
1 2.60
2 NaN
3 -0.55
dtype: float64
'''
pandas還有一個強大的方法describe,可以列出計算彙總的許多重要屬性:
data.describe()
結果:
若是非數值數據,describe會產生另外一種彙總:
data = pd.Series(['a','a','c','d']*3)
data.describe()
'''
count 12
unique 3
top a
freq 6
dtype: object
'''
下面列出一些沒有在numpy方法中出現的方法:
median:值的中位數
mad:根據平均值計算平均絕對離差(類似於沒有平方的方差)
skew:三階矩
kurt:四階矩
diff:計算一階差分(不知道是啥)