前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >numpy数组中冒号和负号的含义

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

作者头像
演化计算与人工智能
发布2020-08-14 15:03:13
2.2K0
发布2020-08-14 15:03:13
举报

numpy数组中":"和"-"的意义

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

  • 总体来说,":"用以表示当前维度的所有子模块
  • "-1"用以表示当前维度所有子模块最后一个,"负号用以表示从后往前数的元素,-n即是表示从后往前数的第n个元素"#分片功能

a[1: ] 表示该列表中的第1个元素到最后一个元素,而,a[ : n]表示从第0个元素到第n个元素(不包括n)

代码语言:javascript
复制
import numpy as np

POP_SIZE = 3
total_size = 10
idx = np.arange(total_size)
good_idx_1 = idx[-POP_SIZE:]
good_idx_2 = idx[:-POP_SIZE]
good_idx_3 = idx[POP_SIZE:]
good_idx_4 = idx[:POP_SIZE]

print("good_idx_1", good_idx_1)
print("good_idx_2", good_idx_2)
print("good_idx_3", good_idx_3)
print("good_idx_4", good_idx_4)

# good_idx_1 [7 8 9]
# good_idx_2 [0 1 2 3 4 5 6]
# good_idx_3 [3 4 5 6 7 8 9]
# good_idx_4 [0 1 2]

测试代码

代码语言:javascript
复制
import numpy as np

b = 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
# s

print('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
# s

print('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]]


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrawSky 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • numpy数组中":"和"-"的意义
    • a[1: ] 表示该列表中的第1个元素到最后一个元素,而,a[ : n]表示从第0个元素到第n个元素(不包括n)
    • 测试代码
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档