提取完數(shù)據(jù)后钦勘,通常要對數(shù)據(jù)進行匯總讥蟆,統(tǒng)計和計算马胧,看看pandas有哪些操作僵朗。
df = DataFrame([[1.4,np.nan],[7.1,-4.5],[np.nan,np.nan],[0.75,-1.3]],index=['a','b','c','d'],columns=['one','two'])
one two
a 1.40 NaN
b 7.10 -4.5
c NaN NaN
d 0.75 -1.3
求和操作席纽,會自動忽略為NaN的值:
df.sum()
one 9.25
two -5.80
dtype: float64
也可以橫向相加捏悬,比如:
df.sum(axis=1)
a 1.40
b 2.60
c 0.00
d -0.55
dtype: float64
求平均值,會自動忽略NaN润梯,但我們也可以手動設(shè)置不忽略
df.mean(axis=1,skipna=False)
a NaN
b 1.300
c NaN
d -0.275
dtype: float64
可以一次性返回多個統(tǒng)計數(shù)據(jù):
df.describe()
one two
count 3.000000 2.000000
mean 3.083333 -2.900000
std 3.493685 2.262742
min 0.750000 -4.500000
25% 1.075000 -3.700000
50% 1.400000 -2.900000
75% 4.250000 -2.100000
max 7.100000 -1.300000
如果不是數(shù)值類型會返回另一種結(jié)果
obj = Series(['a','a','b','c']*4)
0 a
1 a
2 b
3 c
4 a
5 a
6 b
7 c
8 a
9 a
10 b
11 c
12 a
13 a
14 b
15 c
dtype: object
obj.describe()
count 16
unique 3
top a
freq 8
dtype: object
總結(jié)一波:
count 非NA值的數(shù)量
describe 針對Series或各DataFrame列計算匯總統(tǒng)計
min,max 計算最小值和最大值
argmin,argmax 計算能夠獲取到最小值和最大值的索引位置(整數(shù))
idxmin,idxmax 計算能夠獲取到最小值和最大值的索引值
quantile 計算樣本的分位數(shù)(0到 1)
sum 值的總和
mean 值的平均數(shù)
media 值的算術(shù)中位數(shù)(50%分位數(shù))
mad 根據(jù)平均值計算平均絕對離差
var 樣本值的方差
std 樣本值的標(biāo)準(zhǔn)差
skew 樣本值的偏度(三階矩)
kurt 樣本值的峰度(四階矩)
cumsum 樣本值的累計和
cummin,cummax 樣本值的累計最大值和累計最小
cumprod 樣本值的累計積
diff 計算一階差分(對時間序列很有用)
pct_change 計算百分?jǐn)?shù)變化