我有以下数据框。
user_id item_id rank
user1 item4 1
user1 item2 2
user1 item5 3
user1 item1 4
user1 item3 5
user2 item5 1
user2 item3 2
user2 item4 3
user2 item1 4
user2 item2 5
如何在 R 和 pandas 中 reshape 为以下格式?
user_id rank1 rank2 rank3 rank4 rank5
user1 item4 item2 item5 item1 item3
user2 item5 item3 item4 item1 item2
我发现转置特别是在 R 中很棘手。任何优雅的标准函数/方式都可以一直工作?
请您参考如下方法:
我们可以使用 R 中 library(reshape2) 中的 dcast 将“长”格式转换为“宽”格式
library(reshape2)
dcast(df1, user_id~paste0('rank', rank), value.var='item_id')
# user_id rank1 rank2 rank3 rank4 rank5
#1 user1 item4 item2 item5 item1 item3
#2 user2 item5 item3 item4 item1 item2
