这是级联的直线前进的情况下 - 除了y
需要被调换:
In [246]: x = np.array([[1,2],[3,4]])
In [247]: y= np.array([[5,6]])
In [248]: np.concatenate((x,y.T),axis=1)
Out[248]:
array([[1, 2, 5],
[3, 4, 6]])
也就是说,以某种方式或其他y
必须有尽可能多的行为x
。 column_stack
和hstack
需要相同的转置。
在numpy
中,元组符号用于结构化数组记录。这需要定义一个化合物dtype
。如果您勾勒出所需的dtype
,我可以帮助您构建它。
您发表评论:
Y可以是任意长度的列表,如能X,所以我需要让他们分开..
这是否意味着可以有不同数量的项目在Y和X中,那些元组中的一些将完成?有一个x项,但不是y或v.v.?如果是这样的话,那么你会测试使用列表理解和zip
工具之一(普通邮编或从itertools
)。 numpy数组用于匹配大小的列表/数组。
拉链例子:
In [263]: x = [[1,2],[3,4]]
In [264]: y= [5,6,7] # not nested
拉链超过最短的,忽略最长
In [266]: [(i,j) for i,j in zip(x,y)]
Out[266]: [([1, 2], 5), ([3, 4], 6)]
拉链在最长,垫最短
In [267]: [(i,j) for i,j in itertools.zip_longest(x,y)]
Out[267]: [([1, 2], 5), ([3, 4], 6), (None, 7)]
'np.column_stack((X ,Y))'? – Divakar
不错,谢谢你。有没有办法让它成为一个元组?堆栈只是添加列。 Y可以是任意长度的列表,因为X,所以我需要保持它们分开... – bordeo