当试图用imdb绘图信息填充dataframe时,For循环仅从列表中的最后一项输入数据

2024-09-28 05:26:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用MovieLens 20M数据集,但试图通过删除IMDB将情节细节添加到电影列表中。我遇到了一些问题(一些电影有多个情节,而其他电影没有),但现在最大的问题是,对于我的imdb电影ID for循环,它用最后一个输入的值填充整个数据帧

Dataframe看起来像:

movieId | imdbId |tmdbId | title   
1       | 114709 | 862.0 |Toy Story (1995)  
2       | 113497 |8844.0 |Jumanji (1995)  
3       |113228  | 15602.0 |Grumpier Old Men (1995)  

下面是我要填充的代码:

from imdb import IMDb

# create an instance of the IMDb class
ia = IMDb()

for Id in movies.imdbId:
    movie = ia.get_movie(Id)
    movies['plot1'] = movie['plot']
    #try:
        #movies['plot2'] = movie['plot'][1]
        #movies['synopsis'] = movie.get('synopsis')
    #except: 
        #pass

但不可避免的是,这给了我一个数据帧,其中“plot1”是相同的(我一直在使用plot2和synopsis的中途出错,因为我认为一些电影没有它们,因此try/Exception。我一直在和这两个外带的人一起工作,试图为每部电影(至少一部)获得第一个情节,但进展不太顺利!这是列表中最后一部电影的情节,所以我的数据框中的每个条目都会出现“乔治·班克斯不仅要处理pregn…”

当有多个情节时,它可以用来制作电影['plot'][0](我最初只是在一个条目Toy story的数据框上进行实验,可以得到['plot'][0]或[1],但我想这也行不通,好像Toy story有两个情节,那么它会把Jumanji搞砸吗

很明显,我希望《玩具总动员》的情节在《玩具总动员》的旁边,朱曼吉在《朱曼吉》的旁边,等等。我不知道出了什么问题:(。感谢您的帮助


Tags: 数据列表for电影plotmoviesmovieimdb

热门问题