一维数组索引和切片
创建一个一维数组:
import numpy as np
arr = np.random.randint(0,100,size = 10)
arr
# array([82, 19, 86, 5, 93, 71, 33, 25, 68, 58], dtype=int32)
通过索引取数:
arr[0]
# 82
arr[2]
# 86
通过索引取全部数据:
arr[:]
# array([82, 19, 86, 5, 93, 71, 33, 25, 68, 58], dtype=int32)
每隔两个取数:
arr[::2]
# array([82, 86, 93, 33, 68], dtype=int32)
从后往前每隔两个取数:
arr[::-2]
# array([58, 25, 71, 5, 19], dtype=int32)
二维数组索引和切片
创建一个二维数组:
arr1 = np.random.randint(0,100,size = (2,3) )
arr1
# array([[55, 4, 13],
# [51, 35, 7]], dtype=int32)
取第一行第二列数据:
arr1[0,1]
# np.int32(4)
取第二行第一二列数据:
arr1[1,[0,1]]
# array([51, 35], dtype=int32)
取第一行和第二行以及第二列和第三列的数据:
arr1[[0,1],1:]
#array([[ 4, 13],
# [35, 7]], dtype=int32)
取第一行和第二行以及第二列和第三列的数据 第二种方法:
arr1[[0,1]][:,1:]
#array([[ 4, 13],
# [35, 7]], dtype=int32)
取第一行和第二行的第一和第三列:
arr1[[0,1]][:,[0,2]]
#array([[55, 13],
# [51, 7]], dtype=int32)