import numpy as np
# 随机生成维度2*3*4的矩阵
a = np.random.randint(1, 100, [2, 3, 4])
a=
array([[[11, 6, 15, 41],
[71, 8, 22, 44],
[58, 30, 60, 27]],
[[34, 66, 14, 41],
[42, 37, 85, 20],
[72, 21, 2, 41]]])
a.max(0)=
array([[34, 66, 15, 41],
[71, 37, 85, 44],
[72, 30, 60, 41]])
a.max(1)=
array([[71, 30, 60, 44],
[72, 66, 85, 41]])
a.max(2)=
array([[41, 71, 60],
[66, 85, 72]])
a.max(0)相当于a.max(dim=0),a.shape=(2,3,4),当dim=0时,则表示在2维度上进行操作,a[0][0][0]=11与a[1][0][0]=34比较大小,a[0][0][1]=6 与a[1][0][1]=66比较大小,最终生成的矩阵维度是3×43 \times 43×4
a.max(1)相当于a.max(dim=1),表示在3维度上进行操作,
a[0][0][0]=11与a[0][1][0]=71与a[0][2][0]=58比较大小,
a[0][0][1]=6与a[0][1][1]=8与a[0][2][1]=30比较大小
a.max(2)相当于a.max(dim=2),表示在4维度上进行操作,
a[0][0][0]=11与a[0][0][1]=6与a[0][0][2]=15与a[0][0][3]=41比较大小,
a[0][1][0]=71与a[0][1][1]=8与a[0][1][2]=22与a[0][1][3]=44比较大小,
再举例介绍sum():
a.sum(0)=
array([[ 45, 72, 29, 82],
[113, 45, 107, 64],
[130, 51, 62, 68]])
a.sum(1)=
array([[140, 44, 97, 112],
[148, 124, 101, 102]])
a.sum(2)=
array([[ 73, 145, 175],
[155, 184, 136]])
a.sum(0):维度3×43 \times 43×4 a[0][0][0]+a[1][0][0]=11+34,a[0][0][1]+a[1][0][1]=6+66
a.sum(1):a[0][0][0]+a[0][1][0]+a[0][2][0]=11+71+58,a[0][0][1]+a[0][1][1]+a[0][2][1]=6+8+30
a.sum(2):a[0][0][0]+a[0][0][1]+a[0][0][2]+a[0][0][3]=11+6+15+41,a[0][1][0]+a[0][1][1]+a[0][1][2]+a[0][1][3]=71+8+22+44
本文详细解读了numpy中a.max()函数在不同维度上的应用,通过实例说明了max在0、1、2维度上的操作原理,并介绍了sum函数在相同维度上的聚合行为。重点在于理解数组维度操作在实际数据分析中的作用。
1095

被折叠的 条评论
为什么被折叠?



