2024-05-08 18:21:35 发布
网友
我想从我的numpy数组中得到一个7x7矩阵。你知道吗
np.shape(y)
(1, 7, 7, 32)
np.shape(y[0][:][:][:])
(7, 7, 32)
np.shape(y[0][:][:][0])
(7, 32)
我做错了什么?你知道吗
你可能会打个比方说:“要得到元素i, j, k, l,我可以
i, j, k, l
y[i][j][k][l]
如果这些指数是标量,那么为什么不适用于更一般的东西,比如切片呢?”你知道吗
标量工作而切片不工作的区别和原因是标量索引删除维度,而切片不删除维度,因此当y[i]消耗了第一个维度后[j]将目标锁定在剩余的第一个维度上,即前一个维度就是您想要的。相比之下,y[:]保留了第一个维度,因此第二个和所有后续的索引操作都是错误的。你知道吗
y[i]
[j]
y[:]
这只是处理多维数组时应该考虑的众多原因之一,实际上总是喜欢y[ind1, ind2, ind3, etc.]而不是y[ind1][ind2][ind3][etc.]这些索引标量、切片或数组。你知道吗
y[ind1, ind2, ind3, etc.]
y[ind1][ind2][ind3][etc.]
你可能会打个比方说:“要得到元素
i, j, k, l
,我可以如果这些指数是标量,那么为什么不适用于更一般的东西,比如切片呢?”你知道吗
标量工作而切片不工作的区别和原因是标量索引删除维度,而切片不删除维度,因此当
y[i]
消耗了第一个维度后[j]
将目标锁定在剩余的第一个维度上,即前一个维度就是您想要的。相比之下,y[:]
保留了第一个维度,因此第二个和所有后续的索引操作都是错误的。你知道吗这只是处理多维数组时应该考虑的众多原因之一,实际上总是喜欢
y[ind1, ind2, ind3, etc.]
而不是y[ind1][ind2][ind3][etc.]
这些索引标量、切片或数组。你知道吗相关问题 更多 >
编程相关推荐