下面是一个示例代码,展示了如何按不同索引数组切片矩阵:
import numpy as np
# 创建一个3x3的矩阵
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 创建两个不同的索引数组
row_indices = np.array([0, 2])
col_indices = np.array([1, 2])
# 使用索引数组切片矩阵
sliced_matrix = matrix[row_indices[:, np.newaxis], col_indices]
# 打印切片后的矩阵
print(sliced_matrix)
输出结果为:
[[2 3]
[8 9]]
在上面的示例中,我们首先创建了一个3x3的矩阵matrix。然后,我们创建了两个不同的索引数组row_indices和col_indices,分别表示需要切片的行和列的索引。接下来,我们使用索引数组切片矩阵,将row_indices作为行索引数组,col_indices作为列索引数组传递给matrix。最后,我们打印出切片后的矩阵sliced_matrix。
请注意,在使用索引数组进行切片时,我们使用了[:, np.newaxis]来扩展row_indices的维度,以便与col_indices的维度相匹配。这样做是为了确保切片后的矩阵具有正确的形状。