Numpy三维数组的基本操作

import numpy as np

# 三维数组三个轴(axis)axis=0表示全部,axis=1表示每一列,axis=2表示每一行
x = np.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]], ])
print(x.sum(axis=1))  # 给定轴求和
print(x.max(axis=0))  # 给定轴的最大值值
print(x.argmax(axis=0))  # 给定轴最大值索引
print(x.min(axis=0))  # 给定轴最小值
print(x.argmin(axis=0))  # 给定轴最小值的索引
print(x.ptp(axis=0))  # 给定轴最大值减去最小值的值或者峰峰值
print(x.trace())  # 计算对角线的和
list_shuzu = x.trace()
# 该三维数组有三个二维页面构成,顺序随意。 计算暂时按上述二维数组排列页面
# 第一个对角线值为 x[0,0,0]+x[1,1,0]+x[2,2,0]
# 第二个对角线值为 x[0,0,1]+x[1,1,1]+x[2,2,1]
# 第三个对角线的值为 x[0,0,2]+x[1,1,2]+x[2,2,2]
# 检验结果
First = x[0, 0, 0] + x[1, 1, 0] + x[2, 2, 0]
Second = x[0, 0, 1] + x[1, 1, 1] + x[2, 2, 1]
Third = x[0, 0, 2] + x[1, 1, 2] + x[2, 2, 2]
print('第一个对角线的值: ', First)
print('第二个对角线的值:', Second)
print('第三个对角线的值:', Third)
if First in list_shuzu and Second in list_shuzu and Third in list_shuzu:
    print('检验结果正确')
else:
    print('检验结果不正确')
# 数组转置
y = x.T
First1 = y[0, 0, 0] + y[1, 1, 0] + y[2, 2, 0]
Second1 = y[0, 0, 1] + y[1, 1, 1] + y[2, 2, 1]
Third1 = y[0, 0, 2] + y[1, 1, 2] + y[2, 2, 2]
print(First1, Second1, Third1)
# 转置后对角线和有变化

运行结果如下:

[[ 9 12 15]
 [36 39 42]
 [63 66 69]]
[[18 19 20]
 [21 22 23]
 [24 25 26]]
[[2 2 2]
 [2 2 2]
 [2 2 2]]
[[0 1 2]
 [3 4 5]
 [6 7 8]]
[[0 0 0]
 [0 0 0]
 [0 0 0]]
[[18 18 18]
 [18 18 18]
 [18 18 18]]
[36 39 42]
第一个对角线的值:  36
第二个对角线的值: 39
第三个对角线的值: 42
检验结果正确
12 39 66
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值