numpy中的axis(軸的理解)

2021-09-22 01:46:13 字數 1055 閱讀 5564

# 沿著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,按第二維(列)上的元素求和,不用管行向量的個數(行數不變),每一行都這樣做。

argmax,sum等等函式,它們都含有乙個名為axis的引數,那這個引數到底是什麼意思呢?一句話總結就是:沿著axis指定的軸進行相應的函式操作。如果不知道axis(axis的預設值不是0),則把結構體展開成一維,然後再開始計算

理解numpy中的axis

對於m個元素一維陣列a,因為只有乙個軸,所以axis只能為0,和預設值效果相同,觀察的是0軸上0,1,i,m點對應的元素。產生的新集合就乙個元素。舉例 對於mxn的二維陣列 a,axis可以取值0或1。axis 0 相當於平面座標的y軸,變化的是 行 即觀察每一列不同行的元素。產生的新集合,其元素的...

numpy中多維陣列的軸(axis)

多維陣列的軸 axis 是和該陣列的size 或者shape 的元素是相對應的 np.random.seed 123 x np.random.randint 0,5,3,2,2 print x 5 2 4 2 1 3 2 3 1 1 0 1 x.sum axis 0 array 7,6 6,6 x....

numpy中多維陣列的軸 axis

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!多維陣列的軸 axis 是和該陣列的size 或者shape 的元素是相對應的 np.random.seed 123 x np.random.randint 0,5,3,2,2 print x 5 2 4 2 1 3 2 3 1 1 0 1 x.s...