我需要对userId X movieId进行分类,我有两列:userIdmovieId

userId  movieId
60265   2123
60265   2291
60265   2329
60265   2355
60265   2389
60265   2396
60265   2402
60265   2403
60265   2421
19254   2389
19254   2396
19254   2402
19254   2403
19254   2421
19254   2123
19254   2291
19254   2329

每个userId都有多个movieId监视。我假装使用直方图来分发每个用户观看的所有电影。
userId/movieId  2123  2291  2329  2355  2389  2396  2402  2403  2421  2592  2596
   60265          1     1     1    1      1     1     1     1     1     0     0
   19254          1     1     1    0      1     1     1     1     1     0     0

如何使用函数get_dummies()构造一个类似的userId X movieId表?

最佳答案

您可以这样使用pd.get_dummies

(pd.get_dummies(df.set_index('userId'), columns=['movieId'], prefix='', prefix_sep='')
   .sum(level=0)
   .reset_index())

输出:
   userId  2123  2291  2329  2355  2389  2396  2402  2403  2421
0   60265     1     1     1     1     1     1     1     1     1
1   19254     1     1     1     0     1     1     1     1     1

关于python - 在这种情况下,如何使用get_dummies()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52784074/

10-10 20:09