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

Jea*_*cut 8 python scipy sparse-matrix

我不知道这是否是可能的,而且是可能幼稚的问题,但我怎么能集R的相当于rownames()colnames()一个scipy.sparse.csr.csr_matrix

我看到这my_matrix.dtype.names在这里不起作用,我找不到这种稀疏矩阵的任何"索引"等价物......

此外,pandas.sparse.*由于一些未解决的问题,这里不是一个选择......

非常感谢你的帮助,

per*_*iae 6

您必须单独维护名称,因为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]
Run Code Online (Sandbox Code Playgroud)