我正在寻找一种方法,可以让我以字典的形式表示我的数据集: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]}

拉风的咖菲猫
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]}
添加回答
举报
0/150
提交
取消