我有像这样的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')