为了账号安全,请及时绑定邮箱和手机立即绑定

以字典的形式表示数据集:key = (movie_title, movieId)

以字典的形式表示数据集:key = (movie_title, movieId)

慕妹3242003 2021-09-28 16:20:09
我正在寻找一种方法,可以让我以字典的形式表示我的数据集:key = (movie_title, movieId) value = array这是我的数据帧:movie_title    movieId    Action   Adventure  Fantasy   Sci-Fi.  ThrillerAvatar            1        1.0       1.0        1.0      1.0       0.0John Carter       2        1.0       1.0        0.0      1.0       0.0  Tangled           3        0.0       1.0        1.0      0.0       0.0  我的数组是:df_array = userGenreTable.as_matrix(columns=userGenreTable.columns[2:])我用了 :userGenreTable.to_dict('records')但这不是我要找的。我知道有方法:df.keys(),df.iterrows()但这不是我要找的。
查看完整描述

2 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

用 -


df.set_index(df[['movie_title','movieId']].apply(tuple,axis=1))[['Action','Adventure','Fantasy','Sci-Fi.','Thriller']].T.to_dict('list')

输出


{('Avatar', 1): [1.0, 1.0, 1.0, 1.0, 0.0],

 ('John_Carter', 2): [1.0, 1.0, 0.0, 1.0, 0.0],

 ('Tangled', 3): [0.0, 1.0, 1.0, 0.0, 0.0]}


查看完整回答
反对 回复 2021-09-28
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

使用set_index和tolist:


df.set_index(['movie_title','movieId'],inplace=True)

dict(zip(df.index.tolist(),df.values.tolist()))


{('Avatar', 1): [1.0, 1.0, 1.0, 1.0, 0.0],

 ('John Carter', 2): [1.0, 1.0, 0.0, 1.0, 0.0],

 ('Tangled', 3): [0.0, 1.0, 1.0, 0.0, 0.0]}


查看完整回答
反对 回复 2021-09-28
  • 2 回答
  • 0 关注
  • 256 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号