NumPy聚合操作
需要掌握的函数
序号 | 函数 | 含义 | 示例 |
---|---|---|---|
1 | np.sum() | 求和 | np.sum(n) |
2 | np.max() | 最大值 | np.max(n) |
3 | np.max() | 最小值 | np.min(n) |
4 | np.mean() | 平均值 | np.mean(n) |
5 | np.average() | 平均值 | np.average(n) |
6 | np.percentile() | 百分位数 | np.percentile(n, q=50) q表示的是百分数 |
7 | np.argmin() | 最小值对应的下标 | np.power(n, 3) # 求n的三次方 |
8 | np.argmax() | 最大值对应的下标 | np.argmax(n) # 第一个最大值的下标 |
9 | np.std() | 标准差 | np.argmin(n) # 第一个最小值的下标 |
10 | np.var() | 方差 | np.var(n) |
11 | np.power() | 次方,求幂 | np.std(n) |
12 | np.argwhere() | 按条件查找 | np.argwhere(n == np.max(n)) # 按条件找到所有最大值的下标 |
13 | np.nan~() | 求带有NaN的数据 | np.nanmax(n) # 最大值,如果数据中有NaN值会自动过滤 |
详解
NumPy的数据类型是一维或者多维的ndarray结构,下面我们对一维与二维数据为例
定义源数据
- 一维数据
n_1 = np.arange(10)
- 二维数据
n_2 = np.random.randint(0, 10, size=(3, 5))
1 np.sum():求和
- 一维数据
n_sum = np.sum(n_1)
- 二维数据
这里求的是整个二维数组的和
n_sum = np.sum(n_2)
对列求和
n_sum_l = np.sum(n_2, axis=0)
对行求和
n_sum_h = np.sum(n_2, axis=1)
2 np.max():最大值
- 一维数据
n_max = np.sum(n_1)
- 二维数据
这里求的是整个二维数组的最大值
n_2_max_all = np.max(n_2)
对列求最大值
n_2_max_l = np.max(n_2, axis=0)
对行求最大值
n_2_max_h = np.max(n_2, axis=1)
总结
其余聚合函数与求和、最大值的算法一样
axis=0时,对列进行操作
axis=1时,对行 进行操作