【发布时间】:2021-11-03 21:29:38
【问题描述】:
我创建了一个名为 'd' 的 numpy 数组,然后将其重塑为 'd1',如下所示:-
d=np.arange(32)
d1=d.reshape(2,2,2,4)
numpy 数组 'd1' 看起来像:-
[[[[ 0 1 2 3]
[ 4 5 6 7]]
[[ 8 9 10 11]
[12 13 14 15]]]
[[[16 17 18 19]
[20 21 22 23]]
[[24 25 26 27]
[28 29 30 31]]]]
我想对这个数组进行切片提取,得到两个一维数组,如下:-
[[13 14]
[17 18]]
我是 numpy 的新手,两天前才刚刚开始。我能够通过索引和切片做一些基本的事情。然而,这个让我难倒了好几个小时。任何帮助将非常感激。 谢谢和问候。
【问题讨论】:
-
我们必须猜测规则吗?更严重的是,这种选择的特点是什么:
[[13 14] [17 18]]? -
您显示的输出看起来像一个 2x2 数组(不是“两个一维数组”)。另外,选择的逻辑是什么? 2x2 在中心?还有什么?
-
好吧,如果它是一个 2x2 数组,那么 d1 的维度应该是多少?是的,它是一个二维数组。
-
d1是一个 4 维数组,给定您的.reshape(2,2,2,4)(四个维度)。 -
是的。我明白你的意思。 d1 是一个形状为 (2,2,2,4) 的 4 维数组。所以它是一个 4-D 阵列,它基本上有两个 3-D 阵列、四个 2-D 阵列、八个 1-D 阵列,它们都有 4 列。这是我的理解。