[英]How do I convert a 2D numpy array into a 1D numpy array of 1D numpy arrays?
[英]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])
首先,构建MyArr
的for
循环存在问题。 请注意,您覆盖了第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.