python - 稀疏数组的 numpy 向量列表

标签 python arrays numpy scipy sparse-matrix

我有一个格式为 numpy 的向量列表:

    [array([[-0.36314615,  0.80562619, -0.82777381, ...,  2.00876354,2.08571887, -1.24526026]]), 
     array([[ 0.9766923 , -0.05725135, -0.38505339, ...,  0.12187988,-0.83129255,  0.32003683]]),
     array([[-0.59539878,  2.27166874,  0.39192573, ..., -0.73741573,1.49082653,  1.42466276]])]

此处仅显示列表中的 3 个向量。我有 100s..

一个vector的最大元素个数在1000万左右

列表中所有数组的元素个数不等,但最大元素个数固定。 是否可以在 python 中使用这些向量创建一个稀疏矩阵,以便我用零代替小于最大大小的向量的元素?

最佳答案

试试这个:

from scipy import sparse
M = sparse.lil_matrix((num_of_vectors, max_vector_size))

for i,v in enumerate(vectors):
     M[i, :v.size] = v

然后看看这个页面:http://docs.scipy.org/doc/scipy/reference/sparse.html

lil_matrix 格式适用于构建矩阵,但您需要在对它们进行操作之前将其转换为不同的格式,如 csr_matrix

关于python - 稀疏数组的 numpy 向量列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18453163/

相关文章:

javascript - 如何构建 Javascript 数组 Delta

python - 如何在 python 中使用 *args 减去函数中的所有给定数字?

Python对数组或列表中的元素进行成对比较

python - celery 用作代理时能否优雅地承受 mongodb 故障转移?

python - Pandas JSON_Normalize 仅特定列

python - 如何修复 Django 中的 AttributeError?

python - 使用 Github Actions 安装 Poetry,未找到诗歌命令。无法将诗歌添加到路径中

c++ - 如何根据不寻常数字的数量对数组进行排序

Java TCP Socket发送字节数组

python - Numpy:快速找到第一个值(value)索引