使用pandas在python中创建二进制稀疏矩阵,这应该是快速有效的

时间:2018-01-28 16:03:03

标签: python pandas dataframe binary sparse-matrix

我有像这样的pandas数据框

DF

    document  term
      X        a
      X        b
      X        a
      X        c
      Y        a
      Y        c
      Y        d

我想像这样创建稀疏矩阵:这个稀疏矩阵将行作为唯一文档,将列作为唯一术语。 如果文档和术语在原始数据框架中共存,我想填写1,无论它们共存的次数是多少,否则为0

          a    b     c    d
      X   1    1     1    0

      Y   1    0     1    1

我尝试使用for循环,耗时数百万行。

来自piRsquared的建议之后的答案:

    #drop duplicates
    df = df.drop_duplicates()
    df.pivot_table(index='document', columns='term', fill_value=0, aggfunc='size')

0 个答案:

没有答案