【发布时间】:2020-12-26 16:41:14
【问题描述】:
我正在努力为这个data set 寻找收视率最高的类型。我开始拆分流派,因为大多数行中有多种流派。然后我对流派及其分数进行排序,计算每种流派的平均分数。然后我用每种类型和它们的平均分数更新数据框。但是,出于某种原因,列表中有重复的流派,我不确定为什么。
dataGenre = data
df5 = pd.DataFrame(data={"Genre":dataYearScore['Genre'], "Score": dataYearScore['Score']})
df5 = df5.assign(Genre=df5['Genre'].str.split(',')).explode('Genre').reset_index(drop=True)
genre_list5 = []
avg_scores5 = []
for genre in df5["Genre"].unique():
genre_list5.append(genre)
avg_scores5.append(df5.loc[df5["Genre"]==genre, "Score"].mean())
plt.bar(genre_list5, avg_scores5, width = 0.8)
plt.xlabel('Genre')
plt.ylabel('Average Score')
plt.xticks(rotation=65)
plt.title('Average Score for Each Genre')
plt.show()
df5 = pd.DataFrame(data={"Genre":genre_list5, "Score": avg_scores5})
df5
我认为问题出在第 3 行或 for 循环中,但我不确定是什么原因造成的。 任何帮助都将不胜感激:)
更新:
数据可以在这里找到https://www.kaggle.com/isaactaylorofficial/imdb-10000-most-voted-feature-films-041118
它是用进口的
data = pd.read_csv('movies.csv')
我真的不需要图表,我只需要数据框有一列包含流派(无重复)及其平均分数。
df5 = pd.DataFrame(data={"Genre":genre_list5, "Score": avg_scores5})
df5
这是使用上面的代码检查的^
【问题讨论】:
-
请提供样本数据和所需的输出
-
我更新了帖子。这是否为您提供了足够的信息?
-
那么你只想要列表中的第一个流派吗?
标签: python pandas dataframe csv matplotlib