Python心法:numpy命令关于axis=0,axis=1,axis=2

本文深入探讨了NumPy库中数组的基本操作,包括一维、二维及三维数组的平均值计算,以及数组的拼接、旋转等高级操作。通过具体实例,详细解析了不同轴向操作的影响,为读者提供了丰富的实践指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二维数组情形

例1

mu = np.mean(features,axis=0)

features为M×N, 那么mu为(N,)或记1×N


例2

X_input = np.concatenate((features,intercept_feature),axis=1)

features为M×N,那么X_input为M ×(N+1)

 


例3

>>> a = np.array([[1, 2], [3, 4]])
>>> np.mean(a)
2.5
>>> np.mean(a, axis=0)
array([ 2.,  3.])
>>> np.mean(a, axis=1)
array([ 1.5,  3.5])

点评:矩阵记法M×N,M为行数,N为列数。


三维数组情形

例4

A = np.arange(8).reshape((2,2,2))

A:

array([[[0, 1],
        [2, 3]],

       [[4, 5],
        [6, 7]]])

mu0 = np.mean(A,axis=0)

mu0:

array([[2., 3.],
       [4., 5.]])

mu1 = np.mean(A,axis=1)

mu1:

array([[1., 2.],
       [5., 6.]])

mu2= np.mean(A,axis=2)

mu2:

array([[0.5, 2.5],
       [4.5, 6.5]])

点评:三维数组可以理解为两个二维平面平行放置。

B=np.arange(50).reshape((2,5,5))

B:

array([[[ 0,  1,  2,  3,  4],
        [ 5,  6,  7,  8,  9],
        [10, 11, 12, 13, 14],
        [15, 16, 17, 18, 19],
        [20, 21, 22, 23, 24]],

       [[25, 26, 27, 28, 29],
        [30, 31, 32, 33, 34],
        [35, 36, 37, 38, 39],
        [40, 41, 42, 43, 44],
        [45, 46, 47, 48, 49]]])

B[0]:

array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24]])

C=np.arange(50).reshape((5,5,2))

C:

array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5],
        [ 6,  7],
        [ 8,  9]],

       [[10, 11],
        [12, 13],
        [14, 15],
        [16, 17],
        [18, 19]],

       [[20, 21],
        [22, 23],
        [24, 25],
        [26, 27],
        [28, 29]],

       [[30, 31],
        [32, 33],
        [34, 35],
        [36, 37],
        [38, 39]],

       [[40, 41],
        [42, 43],
        [44, 45],
        [46, 47],
        [48, 49]]])


例5

A = np.arange(8).reshape((2,2,2))

A:

array([[[0, 1],
        [2, 3]],

       [[4, 5],
        [6, 7]]])

filter_kernel_flipped=np.rot90(A, 1, (1,2))

filter_kernel_flipped:

array([[[1, 3],
        [0, 2]],

       [[5, 7],
        [4, 6]]])

此例np.rot90()函数为axis1和axis2确定的平面内旋转一次。

更多数学原理小文请关注公众号:未名方略

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞行codes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值