本系列文章配套代码获取有以下三种途径:
-
可以在以下网站查看,该网站是使用JupyterLite搭建的web端Jupyter环境,因此无需在本地安装运行环境即可使用,首次运行浏览器需要下载一些配置文件(大约20M):
https://returu.github.io/Python_Data_Analysis/lab/index.html
-
也可以通过百度网盘获取,需要在本地配置代码运行环境,环境配置可以查看【Python基础】2.搭建Python开发环境:
链接:https://pan.baidu.com/s/1MYkeYeVAIRqbxezQECHwcA?pwd=mnsj
提取码:mnsj
-
前往GitHub详情页面,单击 code 按钮,选择Download ZIP选项:
https://github.com/returu/Python_Data_Analysis
根据《Python for Data Analysis 3rd Edition》翻译整理
—————-————————————-
Numpy中基础数组统计方法主要有以下几种:
函数方法 |
说明 |
sum | 沿着轴向计算所有元素的累加和 |
mean | 计算数学平均 |
std, var | 计算标准差、方差 |
min, max | 计算最小值、最大值 |
argmin, argmax | 计算最小值、最大值的位置 |
cumsum | 计算从0开始的元素累积和 |
cumprod | 计算从1开始的元素累积积 |
上述这些统计方法,既可以直接调用数组实例的方法,也可以使用顶层的Numpy函数。
1>>> arr = np.array([[1, 5, 3],[4, 2, 6]])
2>>> arr
3array([[1, 5, 3],
4 [4, 2, 6]])
5
6# 调用数组实例的方法
7>>> arr.sum()
821
9>>> arr.mean()
103.5
11# 使用顶层的Numpy函数
12>>> np.sum(arr)
1321
14>>> np.mean(arr)
153.5
axis
,用于计算指定轴上的统计值,形成一个下降一维的数组。TIPS:
对于二维数组来说:
axis=0——对a的横轴(行)进行操作,在运算的过程中其运算的方向表现为纵向(列)运算;
axis=1——对a的纵轴(列)进行操作,在运算的过程中其运算的方向表现为横向(行)运算。
1# axis=0——对a的横轴(行)进行操作,在运算的过程中其运算的方向表现为纵向(列)运算
2>>> arr.sum(axis=0)
3array([5, 7, 9])
4
5# axis=1——对a的纵轴(列)进行操作,在运算的过程中其运算的方向表现为横向(行)运算
6>>> arr.sum(axis=1)
7array([ 9, 12])
8
9# 计算标准差
10>>> arr.std(axis=0)
11array([1.5, 1.5, 1.5])
12
13# 计算方差
14>>> arr.var(axis=1)
15array([2.66666667, 2.66666667])
16
17# 计算最小值
18>>> arr.min(axis=0)
19array([1, 2, 3])
20
21# 计算最大值
22>>> arr.max(axis=1)
23array([5, 6])
24
25# 计算最小值的位置
26>>> arr.argmin(axis=0)
27array([0, 1, 0], dtype=int64)
28
29# 计算最大值的位置
30>>> arr.argmax(axis=1)
31array([1, 2], dtype=int64)
有些方法,例如cumsum
和cumprod
方法并不会对数据进行聚合,而是产生一个中间结果。
在多维数组中,cumsum
和cumprod
方法会返回相同长度的数组,但是也可以在指定轴上根据较低维度的切片进行部分聚合。
1# 元素累积和
2>>> arr.cumsum()
3array([ 1, 6, 9, 13, 15, 21], dtype=int32)
4>>> arr.cumsum(axis=0)
5array([[1, 5, 3],
6 [5, 7, 9]], dtype=int32)
7
8# 元素累积积
9>>> arr.cumprod()
10array([ 1, 5, 15, 60, 120, 720], dtype=int32)
11>>> arr.cumprod(axis=1)
12array([[ 1, 5, 15],
13 [ 4, 8, 48]], dtype=int32)
本篇文章来源于微信公众号: 码农设计师