NumPy科学计算库学习_007_NumPy数组的基本索引和切片

导入模块

import numpy as np

一维数组切片

创建一个NumPy数组

arr = np.array([0,1,2,3,4,5,6,7,8,9])
print("【arr】\n",arr)
【arr】
 [0 1 2 3 4 5 6 7 8 9]

从NumPy数组中选定一个元素

print("【选取NumPy数组中的第2个元素】\n",arr[1])
【选取NumPy数组中的第2个元素】
 1

NumPy数组的连续数组切片

print("【NumPy数组的连续数组切片】\n",arr[2:6],"{范围是[2,6)}")
【NumPy数组的连续数组切片】
 [2 3 4 5] {范围是[2,6)}

NumPy数组指定起始索引+结束索引+步数的切片操作

print("【NumPy数组中:索引[0,5),每2个数取一个元素】\n",arr[0:5:2])
【NumPy数组中:索引[0,5),每2个数取一个元素】
 [0 2 4]

NumPy数组指定起始索引为空+结束索引为空+步数的切片操作

  • arr[::1]即为获取整个NumPy数组
  • arr[::-1]即为倒序整个NumPy数组
  • arr[::-2]即为倒序整个NumPy数组后,每2个数取一个
print("【NumPy数组中:起始索引为空默认从0开始;结束索引为空默认到最后一个;每2个数取一个元素】\n",arr[::2])
【NumPy数组中:起始索引为空默认从0开始;结束索引为空默认到最后一个;每2个数取一个元素】
[0 2 4 6 8]

NumPy数组的连续切片赋值

arr[1:3]=1024
print("【NumPy数组的连续切片赋值】\n",arr,"{范围是[1,3)}")
【NumPy数组的连续切片赋值】
 [   0 1024 1024    3    4    5    6    7    8    9] {范围是[1,3)}

根据索引位置截取NumPy数组

print("【根据索引位置截取NumPy数组】\n",arr[[2,4,5,7]])
【根据索引位置截取NumPy数组】
 [1024    4    5    7]

二维数组切片

创建一个2维NumPy数组

arr_2_dim = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
print("【arr_2_dim】\n",arr_2_dim)
【arr_2_dim】
 [[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]

2维NumPy数组中提取一个元素

  • numpy_arr[a,b] 等价于 numpy_arr[a][b]
print("【索引第2行最后1列(0开始),获取一个元素】\n",arr_2_dim[2,-1])
【索引第2行最后1列(0开始),获取一个元素】
 9

2维NumPy数组的截取数组元素之间相邻的

print("【行:[0,2);列:[-2,最后]】\n",arr_2_dim[:2,-2:])
【行:[0,2);列:[-2,最后]】
 [[2 3]
 [5 6]]
print("【行:[0,2);列:[-2,最后)】\n",arr_2_dim[:2,-2:-1])
【行:[0,2);列:[-2,最后)】
 [[2]
 [5]]
posted @ 2023-01-03 07:24  顺心无忧  阅读(59)  评论(0编辑  收藏  举报