mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7mobile wallpaper 8mobile wallpaper 9mobile wallpaper 10mobile wallpaper 11mobile wallpaper 12mobile wallpaper 13mobile wallpaper 14mobile wallpaper 15mobile wallpaper 16mobile wallpaper 17mobile wallpaper 18mobile wallpaper 19mobile wallpaper 20mobile wallpaper 21mobile wallpaper 22mobile wallpaper 23
511 字
1 分钟
笔记|数据分析学习笔记09|统计函数

本系列所有文章都放在数据科学标签,总目录如下:

合集|数据分析学习笔记|系列总目录

上一篇:笔记|数据分析学习笔记08|基本数学函数


9.1 统计函数概述#

下表列出了本节涉及的统计函数:

函数功能
np.sum(x)求和
np.mean(x)平均值
np.median(x)中位数
np.std(x)标准差
np.var(x)方差
np.min(x) / np.max(x)最小值 / 最大值
np.argmin(x) / np.argmax(x)最小值 / 最大值的索引
np.percentile(x, q)计算第 q 百分位数
np.cumsum(x)累积和
np.cumprod(x)累积积

9.2 求和#

np.sum() 计算数组中所有元素的总和:

import numpy as np
# 基本求和
print(np.sum([1, 2, 3]))
# 对数组求和
arr = np.array([15, 5, 12, 9, 7, 16, 19, 15])
print(np.sum(arr))

输出:

6
98

9.3 平均值#

np.mean() 计算数组元素的算术平均值:

print(np.mean([1, 2, 3]))
arr = np.array([15, 5, 12, 9, 7, 16, 19, 15])
print(np.mean(arr))

输出:

2.0
12.25

9.4 中位数#

np.median() 计算数组元素的中位数(排序后位于中间位置的值):

print(np.median([1, 2, 4, 8]))
arr = np.array([15, 5, 12, 9, 7, 16, 19, 15])
print(np.median(arr))

输出:

3.0
13.5

9.5 方差与标准差#

方差(np.var())衡量数据的离散程度,标准差(np.std())是方差的算术平方根。

print(np.var([1, 2, 3])) # 方差
print(np.std([1, 2, 3])) # 标准差

输出:

0.6666666666666666
0.816496580927726

均值相同但方差不同的对比:

arr1 = np.array([1, 2, 1, 2, 1, 1, 1, 2])
arr2 = np.array([1, 0, 3, 0, 0, 0, 4, 3])
print(np.mean(arr1)) # 平均值相同
print(np.mean(arr2))
print(np.var(arr1)) # 方差不同
print(np.var(arr2))

输出:

1.375
1.375
0.234375
2.484375

两个数组的平均值相同(1.375),但 arr2 的方差远大于 arr1,说明 arr2 的数据分布更加分散。


9.6 最大值与最小值#

np.max() / np.min() 返回最值,np.argmax() / np.argmin() 返回最值的索引位置:

arr = np.array([15, 5, 12, 9, 7, 16, 19, 15])
print(arr)
print(np.max(arr), np.argmax(arr)) # 最大值及其索引
print(np.min(arr), np.argmin(arr)) # 最小值及其索引

输出:

[15 5 12 9 7 16 19 15]
19 6
5 1
  • 最大值为 19,位于索引 6。
  • 最小值为 5,位于索引 1。

9.7 分位数#

np.percentile(x, q) 计算数组的第 q 百分位数,np.median() 本质上等价于 np.percentile(x, 50)

np.random.seed(0)
arr = np.random.randint(0, 100, 4)
print(arr)
print(np.median(arr)) # 中位数(第50百分位数)
print(np.percentile(arr, 25)) # 第25百分位数

输出:

[44 47 64 67]
55.5
46.25

第25百分位数的计算过程:

排序后: 44 47 64 67
位置 = 0.25 × 3 = 0.75
结果 = (47 - 44) × 0.75 + 44 = 46.25

9.8 累积和与累积积#

np.cumsum() 计算累积和,np.cumprod() 计算累积积:

arr = np.array([1, 2, 3])
print(np.sum(arr)) # 总和
print(np.cumsum(arr)) # 累积和
print(np.cumprod(arr)) # 累积积

输出:

6
[1 3 6]
[1 2 6]
  • 累积和[1, 1+2, 1+2+3] = [1, 3, 6]
  • 累积积[1, 1×2, 1×2×3] = [1, 2, 6]

9.9 本节小结#

本节完成了以下内容:

  • 掌握了 np.sum()np.mean()np.median() 等集中趋势统计函数。
  • 掌握了 np.var()np.std() 等离散程度统计函数。
  • 掌握了 np.max() / np.min()np.argmax() / np.argmin() 最值查找。
  • 掌握了 np.percentile() 分位数计算及其原理。
  • 掌握了 np.cumsum()np.cumprod() 累积运算。

下一篇:笔记|数据分析学习笔记10|比较函数


分享

如果这篇文章对你有帮助,欢迎分享给更多人!

笔记|数据分析学习笔记09|统计函数
https://luq-blog.xyz/posts/2026-07-01-data-notes-09-statistics/
作者
Luquiescene
发布于
2026-07-01
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录