如何在python中将scipy稀疏矩阵零值转换为pandas数据帧?

问题描述

我有一个类似 MovieLens 数据的数据框,其中包含 userID、cardID 及其值(操作),如下所示: (它有 (1642901,3) 个维度)

enter image description here

我想将其视为 scipy 稀疏矩阵,所以我使用了 csr_matrix。

utility_csr = csr_matrix((data['action'],(data['userGUID'],data['card'])))

如果我按照下面的操作,我只会取回原始数据。

databack = pd.DataFrame({'userGUID': coo.row,'card': coo.col,'action': coo.data}
                 )[['userGUID','card','action']].sort_values(['userGUID','card']
                 ).reset_index(drop=True)

但我最终想要的是将所有未评级的动作(在 csr_matrix 中显示为 0)重新转换为数据帧格式。

所以最终,它看起来像这样。

enter image description here

或者我什至不再需要操作列,因为我知道所有操作都没有。我想这样做是为了数据增强。

谁能告诉我如何用 python 代码做到这一点?

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)