import numpy as np
import pandas as pd
from pandas import series,dataframe
方法
說明count
非na值的數量
describe
針對series或各dataframe列計算匯**計
min、max
計算最小值和最大值
argmin、argmax
計算能夠獲取到最小值和最大值的索引位置
idxmin、idxmax
計算能夠獲取到最小值和最大值的索引值
quantile
計算樣本的分位數
sum值的總和
mean
值的平均數
median
值的算術中位數
mad根據平均值計算平均絕對離差
var樣本值的方差
std樣本值的標準差
skew
樣本值的偏度
kurt
樣本值的峰度
cumsum
樣本值的累計和
cummin、cummax
樣本值的累計最大值和累計最小值
cumprod
樣本值的累計積
diff
計算一階差分
pct_change
計算百分數變化
df = dataframe([[1.4,np.nan],[7.1,-4.5],
[np.nan,np.nan],[0.75,-1.3]],
index = ['a','b','c','d'],
columns = [1,2])
print(df)
1 2
a 1.40 nan
b 7.10 -4.5
c nan nan
d 0.75 -1.3
df.sum() # 行求和
1 9.25
2 -5.80
dtype: float64
df.sum(axis=1) # 列求和
a 1.40
b 2.60
c 0.00
d -0.55
dtype: float64
df.sum(skipna=false) # 不忽略nan值
1 nan
2 nan
dtype: float64
df.idxmax()
1 b
2 d
dtype: object
print(df.cumsum())
1 2
a 1.40 nan
b 8.50 -4.5
c nan nan
d 9.25 -5.8
print(df.describe()) # 按列
1 2
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
s1 = series([1,3,5,6,9])
s2 = series([2,3,4,6,9])
計算兩個series中重疊的、非na的,按索引對齊的值的協方差
s1.cov(s2)
8.1999999999999993
計算相關係數
s1.corr(s2)
0.974259335869603
df = dataframe(np.random.rand(9).reshape(3,3),index=['a','b','c'],columns=['e','f','g'])
print(df)
e f g
a 0.146858 0.129654 0.904029
b 0.914438 0.698205 0.970205
c 0.041829 0.938332 0.823483
計算列的協方差矩陣
print(df.cov())
e f g
e 0.226943 0.023656 0.031214
f 0.023656 0.172479 -0.010457
g 0.031214 -0.010457 0.005399
計算列的相關係數
print(df.corr())
e f g
e 1.000000 0.119568 0.891737
f 0.119568 1.000000 -0.342684
g 0.891737 -0.342684 1.000000
o = series(['a','b','a','c','d','c'])
o.unique()
array(['a', 'b', 'c', 'd'], dtype=object)
o.value_counts()
c 2
a 2
d 1
b 1
dtype: int64
o.isin(['a','b'])
0 true
1 true
2 true
3 false
4 false
5 false
dtype: bool
f = lambda x:x.max()-x.min() # 極差函式
e 0.872609
f 0.808678
g 0.146722
dtype: float64
a 0.774375
b 0.272000
c 0.896503
dtype: float64
format = lambda x:'%.2f'%x # 格式化函式
e f ga 0.15 0.13 0.90
b 0.91 0.70 0.97
c 0.04 0.94 0.82
f1 = lambda x:x.max()-x.min()
f2 = lambda x:x.mean()
deff
(x):
return series([f1(x),f2(x)],index=['range','mean']) # series中的值是實際的函式,索引是該函式返回值的標籤
e f grange 0.872609 0.808678 0.146722
mean 0.367709 0.588730 0.899239
Pandas 統計函式
統計方法有助於理解和分析資料的行為。現在我們將學習一些統計函式,可以將這些函式應用到pandas的物件上。系列,datframes和panel都有pct change 函式。此函式將每個元素與其前乙個元素進行比較,並計算變化百分比。import pandas as pd import numpy a...
Pandas統計特徵函式
python中用於資料探索的庫主要是pandas和matplotlib,pandas提供了大量與資料探索相關的函式。這些統計特徵函式能反映出資料的整體分布,主要作為pandas的物件dataframe或series的方法出現。sum 計算資料樣本的總和 按列計算 mean 計算資料樣本的算術平均數 ...
pandas排序與統計
python for data analysis sort index 對行或列索引進行排序 in 1 import pandas as pd in 2 from pandas import dataframe,series in 3 obj series range 4 index d a b c...