【发布时间】:2018-05-12 12:27:17
【问题描述】:
我想将特征向量的稀疏 csr 2d 输入矩阵转换为滑动窗口特征向量的稀疏 csr 2d 矩阵。因此,以大小为 2 的窗口为例:
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
变成:
array([[0, 1, 2, 3, 4, 5],
[3, 4, 5, 6, 7, 8]])
以下函数为二维 numpy 数组实现了这一点:
import numpy as np
def window_stack(a, width=2):
n = a.shape[0]
return np.hstack(a[i:1+n+i-width:1] for i in range(0, width))
但是,就我而言,我有一个大型稀疏 csr 矩阵。我该如何修改 window_stack 函数可以处理大型稀疏 csr 矩阵吗?
我不能让稀疏数组密集作为中间步骤,因为这会太大。
【问题讨论】:
-
好的。我真的没有看到,因为它实际上是底部的最后一行。下次一定要更清楚;-)
-
@cᴏʟᴅsᴘᴇᴇᴅ 它也在标题中,但我明白你的意思 :) 我确实喜欢你的麻木技巧。