You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于电影DataFrame按年代分组计算IMDB评分均值并处理脏数据?

问题

我有一个电影DataFrame,仅关注电影名称、Oscar Year、IMDB Rating列,需求如下:

  1. 按Oscar Year列(包含1926至2020等年份)排序;
  2. 将年份划分为年代(十年为一组),计算每组的IMDB评分均值。

另外,我在处理Oscar Year列的脏数据时用了多次str.replace方法,希望得到更优方案。

以下是我的尝试代码:

import pandas as pd
mv = pd.read_csv('data_1_7.csv')

# 处理脏数据的方式,希望得到优化建议
mv['Oscar Year']=mv['Oscar Year'].str.replace('/28',"")
mv['Oscar Year']=mv['Oscar Year'].str.replace('/29',"")
mv['Oscar Year']=mv['Oscar Year'].str.replace('/30',"")
mv['Oscar Year']=mv['Oscar Year'].str.replace('/31',"")
mv['Oscar Year']=mv['Oscar Year'].str.replace('/32',"")
mv['Oscar Year']=mv['Oscar Year'].str.replace('/33',"")

mv['Oscar Year'].sort_values()

GroupByMean = mv.groupby('Oscar Year')[['IMDB Rating']].mean(numeric_only=True).reset_index() 
# 这里得到了按年份分组的数据,但不是按年代分组的结果

mv['Oscar Year'] = mv['Oscar Year'].astype('int')
Rating10['Bins'] = pd.cut(mv['Oscar Year'], bins = 10, precision=0).unique()
Rating10['Rating'] = mv['IMDB Rating'] 
# 这里得到了无效数据
解决方案

1. 优化脏数据处理

多次调用str.replace效率低下,可通过正则表达式一次性清理Oscar Year列的多余内容:

import pandas as pd
mv = pd.read_csv('data_1_7.csv')

# 去掉斜杠及后面的所有字符,保留年份主体
mv['Oscar Year'] = mv['Oscar Year'].str.replace(r'/.*', '', regex=True)
# 转换为整数类型
mv['Oscar Year'] = mv['Oscar Year'].astype(int)

如果数据中存在其他格式的脏数据(比如混杂非数字字符),可直接提取四位数字年份:

mv['Oscar Year'] = mv['Oscar Year'].str.extract(r'(\d{4})').astype(int)

2. 按Oscar Year排序

使用sort_values方法完成排序,可选择直接修改原数据或生成新的排序后DataFrame:

# 直接修改原DataFrame完成排序
mv.sort_values('Oscar Year', inplace=True)

# 或生成新的排序后DataFrame
sorted_mv = mv.sort_values('Oscar Year')

3. 按年代分组计算IMDB评分均值

通过整数除法将年份转换为年代标识(如1926→1920、1935→1930),再分组计算均值:

# 生成年代列
mv['Decade'] = (mv['Oscar Year'] // 10) * 10

# 按年代分组计算平均评分
decade_mean_rating = mv.groupby('Decade')[['IMDB Rating']].mean(numeric_only=True).reset_index()
# 重命名列名增强可读性
decade_mean_rating.rename(columns={'IMDB Rating': 'Average IMDB Rating'}, inplace=True)

print(decade_mean_rating)

内容的提问来源于stack exchange,提问作者Алексей Курочкин

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 12:00:22