繁体   English   中英

在 Python 中,如何将数值数组列表转换为简单的一维 numpy 数组?

[英]In Python, How can I convert a List of numeric array into a simple 1D numpy array?

在我的代码中,我创建了一个np.array n列表。

如何创建列表的示例:

MyArr = [None] * n
for l in range(n):
    MyArr[l] = np.array([1, 2, 3])   # Example 1
    # MyArr[l] = np.array([-1, -10])   # Example 2 

我最终想要做的是使MyArr成为一维数值数组,如下所示:

MyArr = [np.array([1, 2, 3]), np.array([1, 2]), np.array([10]), np.array([-1, -2, -3])]

进入:

np.array([1, 2, 3, 1, 2, 10, -1, -2, -3])

因为n相当大,我认为使用 for 循环不是一个好主意。 你们有什么感想?

numpy串联function 可能会有所帮助:

np.concatenate([arr_1, arr_2, arr_3])

首先,构建MyArrfor循环存在问题。 请注意,您覆盖了第l个元素,因为您在 1 次迭代中设置了两次。

其次,要展平 numpy arrays 的列表,您可以按以下方式使用np.hstack

l = [np.array([1,2,3]), np.array([-1,10])]
np.hstack(l)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM