numpy中的axis(轴的理解)
程序员文章站
2024-03-02 15:59:34
...
# 沿着axis指定的轴进行相应的函数操作。如果不知道axis,则把结构体展开成一维,然后再开始计算
import numpy as np
print("array x")
x = [[1, 2, 3],
[5, 1, 2]]
x = np.array(x)
print(x)
print("shape x")
print(x.shape)
print("max")
max_ = np.max(x) # 如果不知道axis,这相当于把多维数组展开成一维,然后找到这个一维数组里的最大值。
max_0 = np.max(x, axis=0) # axis=0,按第一维(行)上的元素找最大值,不用管列向量的个数(列数不变),每一列都这样做。
max_1 = np.max(x, axis=1) # axis=1,按第二维(列)上的元素找最大值,不用管行向量的个数(行数不变),每一行都这样做。
print(max_, max_0, max_1)
print("sum")
sum_ = np.sum(x) # 如果不知道axis,这相当于把多维数组展开成一维,然后求这个一维数组里所有元素的和。
sum_0 = np.sum(x, axis=0) # axis=0,按第一维(行)上的元素求和,不用管列向量的个数(列数不变),每一列都这样做。
sum_1 = np.sum(x, axis=1) # axis=1,按第二维(列)上的元素求和,不用管行向量的个数(行数不变),每一行都这样做。
print(sum_, sum_0, sum_1)
argmax,sum等等函数,它们都含有一个名为axis的参数,那这个参数到底是什么意思呢?一句话总结就是:沿着axis指定的轴进行相应的函数操作。如果不知道axis(axis的默认值不是0),则把结构体展开成一维,然后再开始计算