0

我需要对一个 python numpy 数组进行切片以进行乘法运算。我需要的切片格式如下

    first_slice_matrixA=[0,1]
    second_slice_matriA=[2,3]
    first_slice_matrixB=[0,2]
    second_slice_matrixB=[1,3]

下面是我的切片代码。对于第一个切片它的工作,但对于第二个它返回一个空数组。

   matrix_A = np.arange(4).reshape(2,2)
   matrix_B=np.arange(4).reshape(2,2)
   A_1=matrix_A[0:1, 0:2]
   A_2=matrix_A[1:1, 0:2]
   print(A_2)

感谢您的帮助

4

1 回答 1

0

当您对开始和停止使用相同的索引时,无论索引是什么,切片都是空的。您将执行以下操作,以查看您的价值观

  • 第一个索引是垂直切片,所以它选择“行”
  • 第二个索引是水平切片,所以它选择“列”
m = np.arange(4).reshape(2,2)

# horizontal
print(m[0:1, :]) # [[0 1]]
print(m[1:2, :]) # [[2 3]]

# vertical
print(m[:, 0:1]) # [[0] [2]]
print(m[:, 1:2]) # [[1] [3]]

注意这里,因为大小 2

m[0:1, :] == m[:1, :]
m[1:2, :] == m[1:, :]
于 2020-08-13T17:28:05.107 回答