在python中连接几个np数组
问题内容:
我有几个颠簸的数组,我想将它们连接起来。我正在使用np.concatenate((array1,array2),axis=1)
。我现在的问题是我想使数组的数量可参数化,我编写了此函数
x1=np.array([1,0,1])
x2=np.array([0,0,1])
x3=np.array([1,1,1])
def conc_func(*args):
xt=[]
for a in args:
xt=np.concatenate(a,axis=1)
print xt
return xt
xt=conc_func(x1,x2,x3)
此函数返回([1,1,1]),我希望它返回([1,0,1,0,0,1,1,1,1])。我试着在里面添加for循环np.concatenate
这样
xt =np.concatenate((for a in args: a),axis=1)
但我收到语法错误。我既不能使用追加也不能扩展,因为我不得不处理numpy arrays
而不是lists
。有人可以帮忙吗?
提前致谢
问题答案:
concatenate
可以接受类似数组的序列,例如args
:
In [11]: args = (x1, x2, x3)
In [12]: xt = np.concatenate(args)
In [13]: xt
Out[13]: array([1, 0, 1, 0, 0, 1, 1, 1, 1])
顺便说一句,尽管axis=1
可行,但输入全都是一维数组(因此它们只有一个0轴)。因此,由于默认值为,因此完全使用axis=0
或忽略它更有意义。axis``axis=0