我有两个数据库,一个电影的用户评分数据库,如下所示:
userID movieID rating timestamp
0 1 9 2.5 1260759144
1 1 7 3.0 1260759179
2 1 1 3.0 1260759182
3 2 13 2.0 1260759185
4 2 1 4.0 1260759205
5 3 6 2.0 1260759151
6 3 11 2.0 1260759187
7 3 4 2.0 1260759148
8 3 3 3.5 1260759125
9 4 2 2.0 1260759131
和一个movieID到电影名称的数据库,如下所示:
movieID title
0 1 Toy Story (1995)
1 2 Jumanji (1995)
2 3 Grumpier Old Men (1995)
3 4 Waiting to Exhale (1995)
4 6 Father of the Bride Part II (1995)
5 7 Heat (1995)
6 9 Sabrina (1995)
7 10 Tom and Huck (1995)
8 11 Sudden Death (1995)
9 13 GoldenEye (1995)
问题在于第二个数据库中的movieID不是按顺序排列的(缺少数字5、8和12)。我需要它们以便以后在程序中查找。有没有一种方法可以按顺序重新设置ID的格式,并在评级数据库中更改相应的movieID,以便稍后查看电影?
答案 0 :(得分:0)
首先,创建一个顺序ID字段:
movie_DB['new_movie_id'] = range(len(movie_DB))
然后,创建一个从旧ID到新ID的字典:
id_dict = dict(zip(movie_DB['movieID'], move_DB['new_movie_ID']))
在用户评级数据库中映射电影ID:
user_DB['new_movie_id'] = user_DB['movieID'].map(id_dict)