我试图提取一个scipy稀疏列矩阵的列,但结果没有按照我的预期存储。这里就是我的意思是:提取一些列后sparse_csc矩阵的索引逆转
In [77]: a = scipy.sparse.csc_matrix(np.ones([4, 5]))
In [78]: ind = np.array([True, True, False, False, False])
In [79]: b = a[:, ind]
In [80]: b.indices
Out[80]: array([3, 2, 1, 0, 3, 2, 1, 0], dtype=int32)
In [81]: a.indices
Out[81]: array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], dtype=int32)
为什么b.indices
不[0, 1, 2, 3, 0, 1, 2, 3]
? 由于这种行为不是我期望的行为,因此a[:, ind]
不是从csc矩阵中提取列的正确方法吗?