导入模块
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]]