【发布时间】:2021-09-20 16:52:46
【问题描述】:
我有一个 2D numpy 数组 A。例如:
A = np.array([[1, 2],
[3, 4],
[5, 6],
[7, 8],
[9, 0]])
我有另一个标签数组B 对应于A 的行。例如:
B = np.array([0, 1, 2, 0, 1])
我想根据标签将A 拆分为 3 个数组,所以结果是:
[[[1, 2],
[7, 8]],
[[3, 4],
[9, 0]],
[[5, 6]]]
是否有任何 numpy 内置函数来实现这一点?
目前,我的解决方案相当难看,包括在 for-loop 中重复调用 numpy.where,并将索引元组切片以仅包含行。
【问题讨论】:
-
标签总是这样均匀分布吗?结果总能变成数组吗?
-
请更正您的示例数组以使用逗号,以便我们将它们粘贴到控制台中