【发布时间】:2018-01-02 06:47:16
【问题描述】:
假设我有一个形状为 2x3x3 的数组,它是一个 3D 矩阵。我还有一个形状为 3x3 的 2D 矩阵,我想将其用作沿第一个轴的 3D 矩阵的索引。示例如下。
示例运行:
>>> np.random.randint(0,2,(3,3)) # index
array([[0, 1, 0],
[1, 0, 1],
[1, 0, 0]])
>> np.random.randint(0,9,(2,3,3)) # 3D matrix
array([[[4, 4, 5],
[2, 6, 7],
[2, 6, 2]],
[[4, 0, 0],
[2, 7, 4],
[4, 4, 0]]])
>>> np.array([[4,0,5],[2,6,4],[4,6,2]]) # result
array([[4, 0, 5],
[2, 6, 4],
[4, 6, 2]])
【问题讨论】:
-
2D 阵列的形状与 3D 阵列的形状有何关系?
-
它具有相同的 2D 形状,但只是 2D。所以 3D 数组和 2D 数组的形状 NxN 相同,但是有更多的“层”。
-
您的 2 个不同的矩阵是否像示例中一样重复数字?否则,您将需要提供有关您希望输出外观的更多信息。例如,0 和 1 对您意味着什么?
-
目前范围太广。请进一步说明输出在做什么,我可以想到至少三种不同的方法来使用这三个二维数组来获得结果
-
@MatthewMage 使用随机数而不是那些重复的数字。这势必会让人感到困惑。