我想将多个2d Numpy形状数组合并为一个(r,a),(r,b),(r,c),...(r,z)到单个2d形状数组(r, a + b + c ... + z)
我尝试了np.hstack,但是它需要相同的形状&np.concat仅在与第二个数组有关的元组上运行。
答案 0 :(得分:0)
我是numpy的新手,但我认为这是不可能的。前提是 “除了第二个轴以外,这些阵列的所有其他形状都必须具有相同的形状,一维阵列可以是任意长度。”
答案 1 :(得分:0)
您可以使用np.concatenate或np.hstack。这是一个示例:
>>> a = np.arange(15).reshape(5,3)
>>> a
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14]])
>>> b = np.arange(10).reshape(5,2)
>>> b
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
>>> np.concatenate((a,b), axis =1)
array([[ 0, 1, 2, 0, 1],
[ 3, 4, 5, 2, 3],
[ 6, 7, 8, 4, 5],
[ 9, 10, 11, 6, 7],
[12, 13, 14, 8, 9]])
>>> np.hstack((a,b))
array([[ 0, 1, 2, 0, 1],
[ 3, 4, 5, 2, 3],
[ 6, 7, 8, 4, 5],
[ 9, 10, 11, 6, 7],
[12, 13, 14, 8, 9]])
希望有帮助
答案 2 :(得分:0)
实际上,我的功能之一是返回scipy.sparse.csr.csr_matrix,我将其与另一个函数返回的列表一起转换为np.array,以便我可以合并所有内容,但将稀疏矩阵转换为 array(<73194x17类型''的稀疏矩阵,具有203371个压缩稀疏行格式的已存储元素,dtype = object) 与np.hstack不兼容。 不便之处,敬请原谅。 我想出了解决方案而不是numpy.hstack我使用了scipy hstack函数。 谢谢大家的回复。