微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何在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 举报,一经查实,本站将立刻删除。