Python 合并从循环返回的numpy数组

Python 合并从循环返回的numpy数组,python,arrays,numpy,Python,Arrays,Numpy,我有一个生成numpy数组的循环: for x in range(0, 1000): myArray = myFunction(x) 返回的数组总是一维的。我想将所有数组合并成一个数组(也是一维数组) 我尝试了以下方法,但失败了 allArrays = [] for x in range(0, 1000): myArray = myFunction(x) allArrays += myArray 错误为ValueError:操作数无法与形状(0)(9095)一起广播。如何使

我有一个生成numpy数组的循环:

for x in range(0, 1000):
   myArray = myFunction(x)
返回的数组总是一维的。我想将所有数组合并成一个数组(也是一维数组)

我尝试了以下方法,但失败了

allArrays = []
for x in range(0, 1000):
   myArray = myFunction(x)
   allArrays += myArray
错误为
ValueError:操作数无法与形状(0)(9095)
一起广播。如何使其工作

例如,这两个阵列:

[ 234 342 234 5454 34 6]
[ 23 2 1 4 55 34]
应合并到此阵列中:

[ 234 342 234 5454 34 6 23 2 1 4 55 34 ]
你可能是说

allArrays = np.array([])
for x in range(0, 1000):
    myArray = myFunction(x)
    allArrays = np.concatenate([allArrays, myArray])
更简洁的方法(参见wims答案)是使用


您应该知道返回数组的形状 然后


我想连接它们。可能连接((a,b),1)或hstack((a,b))另请看我是否使用了您的第一个示例。我得到了错误
TypeError:只有length-1数组可以转换为Python标量
@ustroetz:感谢您的捕获,忘记了括号,因为concatenate将数组作为列表进行连接。这不是第一行作为空值吗?不,因为我们创建的数组包含0行和4个columns:
array([],shape=(0,4),dtype=float64)
allArrays = np.concatenate([myFunction(x) for x in range]) 
allArrays = np.concatenate([myFunction(x) for x in range(1000)])
allArrays = np.empty((0, 4))
for x in range(0, 1000):
    myArray = myFunction(x)
    allArrays = np.append(allArrays, myArray, axis = 0)