【发布时间】:2020-10-28 15:50:21
【问题描述】:
我想沿着另一个数组的维度重复1D-array,知道这个维度的数量可以改变。
例如:
import numpy as np
to_repeat = np.linspace(0, 100, 10)
base_array = np.random.random((24, 60)) ## this one can have more than two dimensions.
final_array = np.array([[to_repeat for i in range(base_array.shape[0])] for j in range(base_array.shape[1])]).T
print(final_array.shape)
# >>> (10, 24, 60)
如何将其扩展到具有任意维数的数组base_array?
可能使用numpy 向量化函数以避免循环?
编辑(大图):
base_array实际上是(10, 24, 60)的形状(如果我们坚持这个例子),其中沿第一维的坐标是向量to_repeat。
我正在寻找沿base_array 的第一个维度的最小值,并创建相应坐标的数组,这里的形状为(24, 60)。
【问题讨论】:
-
你用这个做什么?因为你几乎肯定想要广播
to_repeat而不是实际制作final_array。 -
查看我编辑的问题!