本文共 3141 字,大约阅读时间需要 10 分钟。
基本统计分析
类似Numpy库,可见此博文
1.0 适用于Series和DataFrame数据类型
函数名 | 描述 |
---|---|
sum() | 求和 |
mean() | 求期望 |
count() | 求非NaN值的个数 |
std() | 求标准差 |
var() | 求方差 |
max() | 最大值 |
min() | 最小值 |
median() | 中位数 |
2.0 只适用于Series类型
方法名 | 描述 |
---|---|
.argmin() .argmax() | 计算数据的最小/大值所在位置的索引位置(自动索引) |
.idxmin() .idxmax() | 计算数据的最小/大值所在位置的索引位置(自定义索引) |
#在Series类型当中用户可以使用自定义索引,而系统也会保存好自动索引
.describe() 针对0轴(各列)的统计汇总
案例代码如下:#注意下标真正对应的列 i=i+1
>>> import pandas as pd>>> a=pd.Series([9,8,5,1],index=['a','b','c','d'])>>> aa 9b 8c 5d 1dtype: int64>>> a.describe()count 4.000000mean 5.750000std 3.593976min 1.00000025% 4.00000050% 6.50000075% 8.250000max 9.000000dtype: float64>>> type(a.describe())>>> a.describe()['count']4.0>>> a.describe()['max']9.0#以下为DataFrame数据类型>>> import numpy as np>>> b=pd.DataFrame(np.arange(20).reshape(4,5),index=['c','v','b','n'])>>> b 0 1 2 3 4c 0 1 2 3 4v 5 6 7 8 9b 10 11 12 13 14n 15 16 17 18 19>>> b.describe() 0 1 2 3 4count 4.000000 4.000000 4.000000 4.000000 4.000000mean 7.500000 8.500000 9.500000 10.500000 11.500000std 6.454972 6.454972 6.454972 6.454972 6.454972min 0.000000 1.000000 2.000000 3.000000 4.00000025% 3.750000 4.750000 5.750000 6.750000 7.75000050% 7.500000 8.500000 9.500000 10.500000 11.50000075% 11.250000 12.250000 13.250000 14.250000 15.250000max 15.000000 16.000000 17.000000 18.000000 19.000000>>> b.describe().ix['max']0 15.01 16.02 17.03 18.04 19.0Name: max, dtype: float64>>> b.describe()[2] #对地3列进行统计汇总,count 4.000000mean 9.500000std 6.454972min 2.00000025% 5.75000050% 9.50000075% 13.250000max 17.000000Name: 2, dtype: float64
累计统计分析
1.0 适用于Series和DataFrame数据类型
方法名 | 描述 |
---|---|
.cumsum() | 依次给出前 1 2 3 。。。n个数的和 |
.cumprod() | 依次给出前 1 2 3 。。。n个数的积 |
.cummin() | 依次给出前 1 2 3 。。。n个数的最小值 |
.cummax() | 依次给出前 1 2 3 。。。n个数的最大值 |
案例代码如下
>>> b 0 1 2 3 4c 0 1 2 3 4v 5 6 7 8 9b 10 11 12 13 14n 15 16 17 18 19>>> b.cummax() 0 1 2 3 4c 0 1 2 3 4v 5 6 7 8 9b 10 11 12 13 14n 15 16 17 18 19>>> b.cummin() 0 1 2 3 4c 0 1 2 3 4v 0 1 2 3 4b 0 1 2 3 4n 0 1 2 3 4>>> b.cumsum() 0 1 2 3 4c 0 1 2 3 4v 5 7 9 11 13b 15 18 21 24 27n 30 34 38 42 46>>> b.cumprod() 0 1 2 3 4c 0 1 2 3 4v 0 6 14 24 36b 0 66 168 312 504n 0 1056 2856 5616 9576
滚动计算(窗口计算)
方法名 | 描述 |
---|---|
rolling(w).sum() | 依次计算相邻w个元素的和 |
rolling(w).mean() | 依次计算相邻w个元素的算术平均值 |
rolling(w).var() | 依次计算相邻w个元素的方差 |
rolling(w).std() | 依次计算相邻w个元素的标准差 |
rolling(w).min() | 依次计算相邻w个元素的最小值 |
rolling(w).max() | 依次计算相邻w个元素的最大值 |
案例代码如下:
>>> b.rolling(2).sum() 0 1 2 3 4c NaN NaN NaN NaN NaNv 5.0 7.0 9.0 11.0 13.0b 15.0 17.0 19.0 21.0 23.0n 25.0 27.0 29.0 31.0 33.0>>> b.rolling(3).sum() 0 1 2 3 4c NaN NaN NaN NaN NaNv NaN NaN NaN NaN NaNb 15.0 18.0 21.0 24.0 27.0n 30.0 33.0 36.0 39.0 42.0
转载地址:http://oamzi.baihongyu.com/