Numpy 从稀疏矩阵中获取过滤后的共现

Numpy 从稀疏矩阵中获取过滤后的共现,numpy,machine-learning,scikit-learn,scipy,nlp,Numpy,Machine Learning,Scikit Learn,Scipy,Nlp,我有一个scipy csr稀疏矩阵(一个用scikit learn的CountVectorizer创建的文档术语矩阵) 矩阵是巨大的(跨越950万文档的7800万代币): 也许有更好的方法,使用某种过滤方法 我的最终目标是共同出现的通缉代币矩阵。作为实现这一目标的第一步,我使用以下方法创建了熊猫数据帧: pd.DataFrame(zip(tokenids_we_want, tokenarrays)) 但是,这不会导致tokenarray中的每个令牌都有一列。 也许有一个更好的方法来满足我的需求

我有一个scipy csr稀疏矩阵(一个用scikit learn的CountVectorizer创建的文档术语矩阵)

矩阵是巨大的(跨越950万文档的7800万代币):

也许有更好的方法,使用某种过滤方法

我的最终目标是共同出现的通缉代币矩阵。作为实现这一目标的第一步,我使用以下方法创建了熊猫数据帧:

pd.DataFrame(zip(tokenids_we_want, tokenarrays))
但是,这不会导致tokenarray中的每个令牌都有一列。 也许有一个更好的方法来满足我的需求:

  • 从稀疏文档术语矩阵开始
  • 仅保留部分条款(代币)
  • 获取术语共现

你能做
dtm[:,列出要提取的内容]
?这只是做一个矩阵列索引。@hpaulj是的,它可以工作!最后一步是基于新的较小dtm获得术语共现。
tokenarrays = []
for tokenid in tokenids_we_want[:3]:
    tokenarray = dtm.getcol(tokenid).toarray()
        tokenarrays.append(tokenarray)
pd.DataFrame(zip(tokenids_we_want, tokenarrays))