如何为Scipy的csr_matrix提供行名和列名?

时间:2016-01-29 14:29:18

标签: python scipy sparse-matrix

我不知道它是否可能,而且这可能是一个天真的问题,但我怎样才能设置相应的R rownames()和{{ 1}}到colnames()

我看到scipy.sparse.csr.csr_matrix在这里工作不起作用,我找不到任何"索引"这种稀疏矩阵的等价...

此外,my_matrix.dtype.names在这里不是一个选项,因为一些未解决的问题......

非常感谢你的帮助,

1 个答案:

答案 0 :(得分:5)

您必须单独维护名称,因为scipy的稀疏格式都不支持命名索引。这可能看起来像:

foo = csr_matrix(...)
row_names = np.array(...)
col_names = np.array(...)

# index by name:
row_idx, = np.where(row_names == "my row")
col_idx, = np.where(col_names == "my col")
foo[row_idx, col_idx]