【发布时间】:2021-02-05 09:58:49
【问题描述】:
我有一个元组 X,它的元素是二维 numpy 数组,它们具有相同的第一个维度和不同的第二个维度。我想连接这些数组以制作 1 个大数组。例如:
X = (np.array of shape[10,3], np.array of shape[10,5], np.array of shape[10,7])。 我想制作一个形状为 [10,15] 的最终数组 Y,它是元组 X 中所有元素的串联。
我做了这样的事情。它有效,但我问是否有任何更短/更简单的方法来做到这一点?谢谢!
def concat_arrays(data: tuple) -> np.ndarray:
final_array = data[0]
for i in range(len(data)):
if i > 0:
final_array = np.hstack((final_array,data[i]))
return final_array
【问题讨论】:
-
好的,你知道你必须用一对括号写
np.hstack((final_array,data[i]))而不是np.hstack(final_array,data[i])吗?所以,你传递给它一个元组。您是否考虑过如果您将一个包含两个以上项目的元组传递给它会发生什么?你能想到一个你在你的程序中已经有的元组,它会特别方便地传递吗?现在,如果你尝试这样做会发生什么?另外,您是否尝试阅读文档?