1、一维数组操作
1、使用布尔类型数据操作数组
x = np.array([1, 2, 3])
i = [True, True, False]
y = x[i] * 2
# [2 4]
print(y)
2、一维数组的翻转
a = np.arange(10)
# [1 3 5 7]
print(a[1:9:2])
# 步长为-1,即数据的翻转
# [9 8 7 6 5 4 3 2 1 0]
print(a[::-1])
2、二维数组操作
1、二维数组的切片操作
# @Time : 2020/12/4 14:59
# @Description :二维数组的切片
import numpy as np
a2 = np.arange(0, 60, 10).reshape((-1, 1))
a3 = np.arange(6)
# a1中的每一行和a2进行广播相加
# [[ 0]
# [10]
# [20]
# [30]
# [40]
# [50]]
print(a2)
# [0 1 2 3 4 5]
print(a3)
a1 = np.arange(0, 60, 10).reshape((-1, 1)) + np.arange(6)
# [[ 0 1 2 3 4 5]
# [10 11 12 13 14 15]
# [20 21 22 23 24 25]
# [30 31 32 33 34 35]
# [40 41 42 43 44 45]
# [50 51 52 53 54 55]]
print(a1)
# 二维数组的切片
# 查找a1矩阵中坐标为(0+1,1+1)(1+1,3+1)(2+1,4+1)数据
# [ 2 13 24]
print(a1[[0, 1, 2], [2, 3, 4]])
# 查找a1矩阵中第5行(2+1,3+1,4+1)的数据,并作为一个列表返回
# [42 43 44]
print(a1[4, [2, 3, 4]])
# 查找a1矩阵中第5,6行(2+1,3+1,4+1)的数据
# [[42 43 44]
# [52 53 54]]
print(a1[4:, [2, 3, 4]])
i = np.array([True, False, True, False, False, True])
# 查找a1矩阵中第1,3,6行数据
# [[ 0 1 2 3 4 5]
# [20 21 22 23 24 25]
# [50 51 52 53 54 55]]
print(a1[i])
# # 查找a1矩阵中第1,3,6行数据的第4列
# [ 3 23 53]
print(a1[i, 3])