numpy数组的切片和索引

numpy数组的切片和索引

  • 基本切片的语法是array[i: j: k],其中i是起始索引,j是停止索引,k是步长(k≠0)
    示例:
import numpy as np
x = np.array([0, 1, 2, 3, 4, 5, 6, 7])
print(x[1:6:2])

[1 3 5]
  • 假设n是被切片的维度中的元素的数量。若没给出i的值,则对于k>0,它默认是0,对于k<0,它默认为n-1。
  • 如果没给出j,则对于k>0, 它默认为n,对于k<0,则默认为-n-1。如果没有给定k,则默认为1。
  • x[::]与想x[:]相同,表示选择沿此轴的所有索引。
  • 例 k=-1, 则是反转一个向量(第一个元素变为最后一个)
print(x[::-1])

[7 6 5 4 3 2 1 0]
高级索引
  • 纯整数数组索引
x = np.array([[1, 2],
              [3, 4],
              [5, 6]])

print(x[[0, 1, 2], [0, 1, 0]])

[1 4 5]
  • 应使用高级索引从4x4数组中选择角元素, 因此,需要选择列是 [0,3] 中的一个,行是 [0,3] 中的一个的所有元素。 要使用高级索引,需要显式 选择所有元素。
a = np.arange(16).reshape(4, 4)
print(a)

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]
 
rows = np.array([[0, 0],
               [3, 3]])
columns = np.array([[0, 3], 
                  [0, 3]])
print(a[rows, columns])

[[ 0  3]
 [12 15]]

详细介绍参考
NumPy 中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值