如何连接另一个函数中生成的1x2数组?
我有一个for循环,它产生xa作为输出,它是一个float64(1L,2L)。
xa = [[ 1.17281823 1.210732 ]]
我尝试连接的代码是
A = []
for i in range(5):
# actually xa = UglyCalculation(**Inputs[i])
xa = np.array([[ i, i+1 ]]) # for our example here
# do something
我想做的就是连接/连接/垂直附加这些xa值。
基本上所需的输出应为
0 1
1 2
2 3
3 4
4 5
我尝试了以下几行代码,但它没有用。你能帮忙吗?
A = np.concatenate((A, xa)) # Concatenate the matrices
A = np.concatenate((A,xa),axis=0)
A=np.vstack((A,xa))
答案 0 :(得分:2)
在A上设置形状允许连接类似列大小的数组:
import numpy as np
A = np.array([])
A.shape=(0,2) # set A to be 0 rows x 2 cols matrix
for i in range(5):
xa = np.array([[i, i+1]])
A = np.concatenate( (A,xa) )
print A
output
[[ 0. 1.]
[ 1. 2.]
[ 2. 3.]
[ 3. 4.]
[ 4. 5.]]
没有A.shape = (0,2)
将抛出异常:
Traceback (most recent call last):
File "./arr.py", line 5, in <module>
A = np.concatenate( (A,xa) )
ValueError: all the input arrays must have same number of dimensions