浅谈numpy数组中冒号和负号的含义

时间:2021-05-22

在实际使用numpy时,我们常常会使用numpy数组的-1维度和”:”用以调用numpy数组中的元素。也经常因为数组的维度而感到困惑。

总体来说,”:”用以表示当前维度的所有子模块

“-1”用以表示当前维度所有子模块最后一个,”负号用以表示从后往前数的元素”

测试代码

import numpy as npb = np.arange(start=0, stop=24, dtype=int)print('b.shape', b.shape)# b.shape (24,)b1 = b.reshape((4, 2, 3))print('the value of b1\n', b1)# the value of b1# [[[ 0 1 2]# [ 3 4 5]]## [[ 6 7 8]# [ 9 10 11]]## [[12 13 14]# [15 16 17]]## [[18 19 20]# [21 22 23]]]print('b1[-1]\n', b1[-1])# 从最外层的维度分解出最后一个模块# b1[-1]# [[18 19 20]# [21 22 23]]for a in b1[-1]: print('s')# 在这个模块中有两个小的模块,所以程序运行两次# s# sprint('b1[:-1]\n', b1[:-1])# 从最外层的模块中分解出除最后一个子模块后其余的模块# b1[:-1]# [[[ 0 1 2]# [ 3 4 5]]## [[ 6 7 8]# [ 9 10 11]]## [[12 13 14]# [15 16 17]]]for a1 in b1[:-1]: print('s')# 在这个模块中有三个小的模块,所以程序运行两次# s# s# sprint('b1[-1:]\n', b1[-1:])# 写在最后一个维度的":"没有实质性作用,此处表示的意思和b1[-1]相同# b1[-1:]# [[[18 19 20]# [21 22 23]]]print('b1[:,-1]\n', b1[:, -1])# 表示取出最外层的所有维度后每一个子模块中选择最后一个子模块# b1[:,-1]# [[ 3 4 5]# [ 9 10 11]# [15 16 17]# [21 22 23]]print('b1[:,:,-1]\n', b1[:, :, -1])# 表示取最里层维度的最后一个元素重新组成新的元组# b1[:,:,-1]# [[ 2 5]# [ 8 11]# [14 17]# [20 23]]

以上这篇浅谈numpy数组中冒号和负号的含义就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章