学科分类
目录

常用的统计计算

Pandas提供了很多跟数学和统计相关的方法,其中大部分都属于汇总统计,用来从Series中获取某个值(如max或min),或者从DataFrame的列中提取一列数据(如sum)。

Pandas为我们提供了非常多的描述性统计分析的指标方法,比如总和、均值、最小值、最大值等。接下来,通过一张表来罗列常用的描述性统计方法,以及它们的具体说明,如表1所示。

表1 常用描述性统计方法及说明

函数名称 说明
sum 计算和
mean 计算平均值
median 获取中位数
max、min 获取最大值和最小值
idxmax、idxmin 获取最大和最小索引值
count 计算非NaN值的个数
head 获取前N个值
var 样本值的方差
std 样本值的标准差
skew 样本值的偏度(三阶矩)
kurt 样本值的峰度(四阶矩)
cumsum 样本值的累积和
cummin、cummax 样本值的累积最小值和累积最大值
cumprod 样本值的累计积
describe 对Series和DataFrame列计算汇总统计

下面通过一些示例来演示上述部分方法的使用。例如,创建一个3行4列的DataFrame对象,它的列索引为“a、b、c、d”,具体代码如下。

In [59]: df_obj = pd.DataFrame(np.arange(12).reshape(3, 4),columns=['a', 'b', 'c', 'd'])
         df_obj
Out[59]: 
a b  c  d
0 0 1  2  3
1 4 5  6  7
2 8 9 10 11

然后,让DataFrame对象依次调用sum()、max()和min()方法,分别执行求和、求最大值和最小值的运算,具体代码如下。

In [60]: df_obj.sum()     # 计算每列的和
Out[60]: 
a  12
b  15
c  18
d  21
dtype: int64
In [61]: df_obj.max()     # 获取每列的最大值
Out[61]: 
a   8
b   9
c  10
d  11
dtype: int32
In [62]: df_obj.min(axis=1)  # 沿着横向轴,获取每行的最小值
Out[62]: 
0  0
1  4
2  8
dtype: int32

通过结果可以看出,DataFrame默认优先以纵向轴进行计算,除非在调用这些统计方法时,显式地指明沿着横向轴方向,即axis=1,才会对每行的数据进行计算。

点击此处
隐藏目录