Python中三维数组位置详解

图示效果图:

  直接贴代码:

def test3D():
    import numpy as np
    data_array = np.zeros((3, 5, 6), dtype=np.int)
    data_array[1, 2, 2] = 1
 
    print(data_array)


  介绍:通过np.zeros创建一个3行5列6个通道的三维数组,并给第二个通道的第一行第二列赋值1.

  运行结果图:

分析: 有运行结果可知,创建了六个通道,在深度学习中这六个通道相当于六个Feature Map,对应结果图中的六列。

再向外看一层,共有三个块,每个块代表这个通道的第几行数据。

每个块里有五行数据,每一行代表每个通道的第几列数据

所以,代码中的赋值语句: data_array[1, 2, 2] = 1

  表示为第2个通道,下标从0开始,所以在图中位置为第三列;第1行第2列,下标从0开始,所以图中表示第二个块的第三行;即为图中所示位置。

 

补充:三维数组的求和

多维数组的轴(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.sum(axis=1)
array([[9, 4],
       [3, 6],
       [1, 2]])
 
>>> X.sum(axis=2)
array([[7, 6],
       [4, 5],
       [2, 1]])


如果将三维数组的每一个二维看做一个平面(plane,X[0, :, :], X[1, :, :], X[2, :, :]),三维数组即是这些二维平面层叠(stacked)出来的结果。则(axis=0)表示全部平面上的对应位置,(axis=1),每一个平面的每一列,(axis=2),每一个平面的每一行。
--------------------- 

原文:https://blog.csdn.net/mago2015/article/details/81069321 
 

  • 35
    点赞
  • 176
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
回答: 在Python,建立三维数组可以使用numpy库。可以通过以下两种方法来建立三维数组。 方法一:使用numpy.zeros()函数来创建一个全为0的三维数组。可以指定数组的维度和数据类型。例如,使用以下代码可以创建一个3x5x6的三维数组,并将数据类型设置为整数: ```python import numpy as np data_array = np.zeros((3, 5, 6), dtype=np.int) ``` 这将创建一个名为data_array的三维数组,其所有元素的值都为0。可以通过索引来访问和修改数组的元素。例如,使用data_array\[1, 2, 2\] = 1可以将索引为(1, 2, 2)的元素的值设置为1。 方法二:使用numpy.ones()函数来创建一个全为1的三维数组。可以指定数组的维度。例如,使用以下代码可以创建一个3x3x3的三维数组,并将所有元素的初始值设置为1: ```python import numpy as np y = np.ones((3, 3, 3)) ``` 这将创建一个名为y的三维数组,其所有元素的值都为1。可以通过索引来访问和修改数组的元素。 无论是使用numpy.zeros()还是numpy.ones()函数,都需要先导入numpy库。可以使用import numpy as np来导入numpy库。 #### 引用[.reference_title] - *1* *3* [Python新建三维数组并赋值](https://blog.csdn.net/weixin_41938903/article/details/102464283)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python三维数组位置详解](https://blog.csdn.net/qq_34840129/article/details/86294530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值