【发布时间】:2020-12-08 17:56:02
【问题描述】:
如何组合这两个数组:
x = np.asarray([[1.0, 1.1, 1.2, 1.3], [2.0, 2.1, 2.2, 2.3], [3.0, 3.1, 3.2, 3.3],
[4.0, 4.1, 4.2, 4.3], [5.0, 5.1, 5.2, 5.3]])
y = np.asarray([[0.1], [0.2], [0.3], [0.4], [0.5]])
变成这样:
xy = [[0.1, [1.0, 1.1, 1.2, 1.3]], [0.2, [2.0, 2.1, 2.2, 2.3]...
感谢您的帮助!
有人建议我发布我尝试过的代码,但我意识到我忘记了:
xy = np.array(list(zip(x, y)))
这是我目前的解决方案,但是效率极低。
【问题讨论】:
-
您忘记发布您尝试过的代码。
-
在 NumPy 中,原来的两个独立的数组使用起来会更加方便和高效。
-
这将是理想的,但是我必须随机化两个数组,因此需要先将它们配对在一起。
-
不,你没有。如果您要按相同顺序对它们进行改组,则可以通过生成单个随机排列数组并将该排列应用于两个数组来实现。
-
您可以创建一个 (5,2) 对象 dtype 数组并分配这些数组(要小心)。或者制作 (5,) 形状的结构化数组,并将数组分配给字段。但如果你所做的只是洗牌,我同意最好将它们分开。
标签: python arrays python-3.x numpy