numpy np.c_抛出数组大小正确的值错误

2w2cym1i  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(109)

我遇到了一个数组连接的问题。阵列详细信息如下所示。
columntransformer中的第一个数组(1168,286)(scipy.sparse._csr.csr_matrix)
numpy数组中的第二个数组(1168,)
如果能看到两个数组连接的解决方案就太好了。
谢谢你,谢谢

abithluo

abithluo1#

为了测试的目的,我创建了更小的数组(5行,3列):

import scipy.sparse as ss
r = 5; c = 3
a1 = ss.csr_matrix((data, (row_ind, col_ind)), shape=(r, c))
a2 = np.arange(21, r + 21)

注意,np.c_ 能够科普“正常”(密集)数组,但当你传递给它一个稀疏数组时,它就失败了。
所以当你试图运行时,例如:np.c_[a1, a2]你会得到一个 ValueError
这里的解决方案是将第一个数组(a1)转换为密集数组。
当你跑步时,例如。np.c_[a1.todense(), a2]你会得到:

matrix([[10,  0,  0, 21],
        [ 0,  0, 20, 22],
        [ 0,  0,  0, 23],
        [ 0, 30,  0, 24],
        [40,  0, 50, 25]])

相关问题