【发布时间】:2018-04-01 09:55:45
【问题描述】:
我是 Python 和 Numpy 的新手。其实我只是在学习。
我正在阅读this tutorial,但我被困在这些行中:
>>> x = np.arange(30).reshape(2,3,5)
>>> x
array([[[ 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]]])
>>> b = np.array([[True, True, False], [False, True, True]])
>>> x[b]
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[20, 21, 22, 23, 24],
[25, 26, 27, 28, 29]])
我不明白我们是如何得出 x[b] 的结果的。
我也尝试猜测x[[False, False, False, True]]的结果
请解释一下,我是个新手。
【问题讨论】:
-
也许你应该在深入 Numpy 之前花更多时间学习核心 Python ......但无论如何,
b.shape是 (2, 3),所以b中的每个True项目选择来自a的一行。 -
最简单的想象方法是将数据数组重新整形为二维数组:(6,5) 形状,然后使用扁平掩码数组从中选择行。
-
@PM2Ring 请您再说明一下。我迷路了:(
-
@cᴏʟᴅsᴘᴇᴇᴅ 认为我们需要一个更好的 dup 目标来讨论用于索引的布尔数组。
-
看标题
Boolean indexing on multidimensionnal array [NOT DUPLICATE] .......[duplicate]