【发布时间】:2020-12-02 20:09:05
【问题描述】:
似乎csr_matrix 默认用0 填充缺失值。那么如何用np.nan填充缺失值呢?
from scipy.sparse import csr_matrix
row = np.array([0, 0, 1, 2, 2, 2])
col = np.array([0, 2, 2, 0, 1, 2])
data = np.array([0, 2, 3, 4, 5, 6])
csr_matrix((data, (row, col)), shape=(3, 3)).toarray()
输出:
array([[0, 0, 2],
[0, 0, 3],
[4, 5, 6]])
预期:
array([[0, np.nan, 2],
[np.nan, np.nan, 3],
[4, 5, 6]])
【问题讨论】:
-
“缺失值”是什么意思?
scipy稀疏矩阵格式存储非零值。其余为 0。句号,句号!我怀疑您是否会在任何 scipy.sparse 文档中发现“缺失”。 -
scipy 稀疏类,尤其是
csr格式,是为数学设计的,尤其是线性代数和矩阵乘法。nan填充会以非常不同的方式表现。
标签: python scipy sparse-matrix scipy.stats