gpt4 book ai didi

python - 如何获得 csr_matrix 中列的均值和标准差?

转载 作者:太空狗 更新时间:2023-10-29 21:43:45 24 4
gpt4 key购买 nike

我有一个通过 scipy.sparse 创建的稀疏 988x1 向量(csr_matrix 中的一列)。有没有办法在不必将稀疏矩阵转换为密集矩阵的情况下获得其均值和标准差?

numpy.mean 似乎只适用于密集向量。

最佳答案

由于您正在执行列切片,因此最好使用 CSC 而不是 CSR 来存储矩阵。但这取决于您对矩阵进行的其他操作。

要计算 CSC 矩阵中列的平均值,您可以使用 mean()矩阵的函数。

要有效地计算标准偏差,需要付出更多的努力。首先,假设您得到这样的稀疏列:

col = A.getcol(colindex)

然后像这样计算方差:

N = col.shape[0]
sqr = col.copy() # take a copy of the col
sqr.data **= 2 # square the data, i.e. just the non-zero data
variance = sqr.sum()/N - col.mean()**2

关于python - 如何获得 csr_matrix 中列的均值和标准差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15701720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com