我有一个生成 numpy 数组的循环:
for x in range(0, 1000):
myArray = myFunction(x)
返回的数组始终是一维的。我想将所有数组组合成一个数组(也是一维的。
我尝试了以下操作,但失败了
allArrays = []
for x in range(0, 1000):
myArray = myFunction(x)
allArrays += myArray
错误是ValueError: operands could not be broadcast together with shapes (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 答案)是使用列表理解 http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions,
allArrays = np.concatenate([myFunction(x) for x in range])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)