在Python中,如何将数字数组列表转换为简单的1D numpy数组?
在我的代码中,我创建了一个具有不同长度的在Python中,如何将数字数组列表转换为简单的1D numpy数组?,python,arrays,numpy,Python,Arrays,Numpy,在我的代码中,我创建了一个具有不同长度的nnp.arrays的列表 如何创建列表的示例: 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
n
np.array
s的列表
如何创建列表的示例:
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
的功能可能有助于:
np.连接([arr_1,arr_2,arr_3])
首先,构建MyArr
的for
循环存在问题。请注意,您重写了l
th元素,因为您在一次迭代中设置了它两次
其次,要展平numpy阵列列表,您可以通过以下方式使用:
l = [np.array([1,2,3]), np.array([-1,10])]
np.hstack(l)
它似乎会起作用。@bicarlsen
flatten
是一种方法,因此您可以在MyArr
上应用它,但在nd数组上应用它。所以在这种情况下,这不是需要的,只是“相当大”到底有多大?