听见涛声_数说张小桃

日拱一卒 | 梳理、沉淀、数据科学家踩坑之路 | 努力成为数据分析领域python最强的人

导航

Python:对于“axis=0和axis=1”的理解

 

1、结论:

rows

axis=0:按 列 计算,结果沿着 行(rows) 的方向→

 

cols

axis=1:按 行 计算,结果沿着 列(cols) 的方向↓

 

2、代码举例

import numpy as np
x = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
print ("x= \n",x)
x= 
 [[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]] 

 

比较axis=0/axis=1求和

print ("sum all: ", np.sum(x))  # adds all elements(所有数字求和)

print ("sum axis=0: ", np.sum(x, axis=0))  # sum across rows(按 列 求和,结果沿 行 的方向)

print ("sum axis=1: ", np.sum(x, axis=1))  # sum across columns(按 行 求和,结果沿 列 的方向)
sum all:  78

sum axis=0:  [15 18 21 24]
#1+5+9,2+6+10,3+7+11,4+8+12
#沿行的方向,意味着计算方向是从左至右的,先计算最左面一列,然后向右计算下一列

sum axis=1:  [10 26 42]
#1+2+3+4,5+6+7+8,9+10+11+12
#沿列的方向,意味着计算方向是从上至下的,先计算最上面一行,然后向下计算下一行

 

比较axis=0/axis=1求极值

print ("min: ", x.min())
print ("max: ", x.max())
print ("min axis=0: ", x.min(axis=0))    #按列求极小值,结果沿 行 方向
print ("min axis=1: ", x.max(axis=1))    #按行求极大值,结果沿 列 方向
min:  1
max:  12
min axis=0:  [1 2 3 4]
min axis=1:  [ 4  8 12]

 

 

 

【参考】

【1】知乎 Python:对于“axis=0和axis=1”的理解

 

posted on 2022-08-07 13:48  数说张小桃  阅读(447)  评论(0编辑  收藏  举报