首页 > 解决方案 > 在相同的第一维上合并多个 numpy 数组

问题描述

我有两个 numpy 数组a并且b具有相同的第一个维度,例如a.shape -> (3, 100)b.shape -> (3, 20, 20).

我需要将它们(尽可能高效地ab)转换为具有相同第一维(此处)的数组(或嵌套列表或字典?3)。因此,当我调用ab[1]它时,它应该返回类似的东西[a[1], b[1]](或者换一种说法ab[:][0] == aab[:][1] == b)。

我觉得这是一个简单的问题,但我不知道要搜索什么,而且我已经坐了太久了。

标签: pythonarraysnumpynested-listsnumpy-slicing

解决方案


没有办法创建具有不同形状数组的组合 NumPy 数组。您可以做的是使用列表并将它们放在同一行中。

ab = [[a[i],b[i]] for i in range(3)]
(ab[0][0] == a[0]).all()
>>>True

推荐阅读