算法学习
、4对1辅导
、论文辅导
、核心期刊
项目的代码和数据下载
可以通过公众号
滴滴我
文章目录
一、项目背景
这份电影相关的数据集主要包括了影片地域分布、电影票房以及每日电影票房等多个方面的指标,涵盖了大量与电影票房相关的数据信息。具体包括了每日电影票房数据的变化、影片地域分布情况、热门电影票房数据等40+个指标。
这份数据集可以用于多方面的分析和应用:
- 电影市场趋势分析:可以通过分析每日电影票房数据的变化,来了解电影市场的整体趋势,包括票房变化、观众人次变化等,以及各种票房环比、场次环比、人次环比等指标,从而洞察电影市场的发展趋势。
- 影片地域分布分析:可以通过影片地域分布数据,了解不同城市区域对于各个电影的票房表现,以及黄金场、上午场、下午场等不同场次的票房表现,从而针对不同地域推出更有针对性的营销策略。
- 热门电影票房分析:可以通过热门电影票房数据,了解当前热门电影的票房表现,并进行票房占比、排名等方面的分析,有利于影院管理者进行放映计划的调整和票价制定。
通过对这些数据进行深入分析,可以帮助影视行业从业者了解市场需求、观众偏好,优化排片方案、票价制定等经营策略,同时也能够帮助投资方更好地评估影片的市场表现和商业潜力,为影片的市场推广和发行提供数据支持。
二、数据说明
该数据共三份。分别是
day_movie_box_office.csv
=> 每日电影票房movie_box_office.csv
=> 热门电影票房movie_area.csv
=> 影片地域分布
三、数据分析
1、导入模块
import numpy as np
import pandas as pd
import plotly.graph_objects as go
import plotly.express as px
from plotly.subplots import make_subplots
import re
2、每日电影票房
2.1 数据概览
# 导入数据
day_movie = pd.read_csv(r'day_movie_box_office.csv')
# 显示数据的前5行以及数据的基本信息
day_movie.info()
day_movie.head()
2.2 2024年电影票房数据的多维度分析
# 创建六个图表
fig1 = go.Scatter(x=day_movie['thedate'], y=day_movie['ShowCount'], name='每日场次')
fig2 = go.Scatter(x=day_movie['thedate'], y=day_movie['AvgAudienceCount'], name='场均人次')
fig3 = go.Bar(x=day_movie['thedate'], y=day_movie['BoxOfficeTop1'], name='票房冠军')
fig4 = go.Scatter(x=day_movie['thedate'], y=day_movie['AvgBoxOffice'], name='平均票价')
fig5 = go.Scatter(x=day_movie['thedate'], y=day_movie['BoxOffice'], name='每日票房趋势')
fig6 = go.Scatter(x=day_movie['thedate'], y=day_movie['BoxOfficeMoM'], name='票房环比变化')
# 创建一个包含六个子图的布局
fig = make_subplots(rows=3, cols=2, subplot_titles=("每日场次", "场均人次", "票房冠军", "平均票价", "每日票房趋势", "票房环比变化"))
# 将图表添加到布局中
fig.add_trace(fig1, row=1, col=1)
fig.add_trace(fig2, row=1, col=2)
fig.add_trace(fig3, row=2, col=1)
fig.add_trace(fig4, row=2, col=2)
fig.add_trace(fig5, row=3, col=1)
fig.add_trace(fig6, row=3, col=2)
# 更新布局
fig.update_layout(template="plotly_white",height=1000, title_text="2024年电影票房数据的多维度分析(截至到02-20)")
# 更新字体样式
fig.update_layout(
font=dict(
family="stcaiyun",
size=14,
color="#000000"
)
)
# 显示图表
fig.show()
2.3 2024年电影票房冠军出现频率
day_movie['MovieName'] = day_movie['MovieNameInfo'].apply(lambda x: x.split('¥')[0].strip() if '¥' in x else None)
top1_frequency = day_movie.groupby('MovieName').size().sort_values(ascending=False).reset_index()
top1_frequency
总结
已经成功提取了电影名称,并统计了2024年至今每部电影作为票房冠军的出现频率。根据数据:
- 《年会不能停!》出现了39天
- 《热辣滚烫》出现了8天
- 《第二十条》出现了2天
- 《临时劫案》和《飞驰人生2》各出现了1天
# Rename columns for better clarity in the plot
top1_frequency.columns = ['MovieName', 'Frequency']
# Plot the data
fig = px.bar(top1_frequency, x='MovieName', y='Frequency',
title='2024年电影票房冠军出现频率(截至2024-02-20)', text='Frequency',
labels={'MovieName': '电影名称', 'Frequency': '出现频率'})
# 更新字体样式
fig.update_layout(
template="plotly_white",
font=dict(
family="stcaiyun",
size=14,
color="#000000"
)
)
fig.show()
3、热门电影票房
3.1 数据预览
# 导入数据
movie_box = pd.read_csv(r'movie_box_office.csv')
# 显示数据的前5行以及数据的基本信息
movie_box.info()
data_cny = movie_box[(movie_box['thedate'] >= '2024-02-09') & (movie_box['thedate'] <= '2024-02-20')]
data_cny.head()
3.2 总票房和场均票房
total_box_office = data_cny['BoxOffice'].sum()
avg_box_office_per_show = data_cny['BoxOffice'].sum() / data_cny['ShowCount'].sum()
print(total_box_office)
print(avg_box_office_per_show)
9251297122.21
1732.9855214299976
3.3 人次和场均人次
total_audience_count = data_cny['AudienceCount'].sum()
avg_audience_count_per_show = data_cny['AudienceCount'].sum() / data_cny['ShowCount'].sum()
print(avg_audience_count_per_show)
print(avg_audience_count_per_show)
35.669107616986345
35.669107616986345
3.4 各电影的票房排名
box_office_ranking = data_cny.groupby('MovieName')['BoxOffice'].sum().sort_values(ascending=False)
top_movies_box_office = box_office_ranking.head(5)
top_movies_box_office
3.5 票房和人次的前几名电影
top_movies_audience_count = data_cny.groupby('MovieName')['AudienceCount'].sum().sort_values(ascending=False).head(5)
top_movies_audience_count
3.6 2024春节档票房前五名的电影
fig1 = px.bar(top_movies_box_office, x=top_movies_box_office.index, y=top_movies_box_office.values,
title='2024春节档票房前五名的电影', text=top_movies_box_office.values,
labels={'x': '电影名称', 'y': '票房'})
# 更新字体样式
fig1.update_layout(
template="plotly_white",
font=dict(
family="stcaiyun",
size=14,
color="#000000"
)
)
fig1.show()
3.7 2024春节档人次前五名的电影
fig2 = px.bar(top_movies_audience_count, x=top_movies_audience_count.index, y=top_movies_audience_count.values,
title='2024春节档人次前五名的电影', text=top_movies_audience_count.values,
labels={'x': '电影名称', 'y': '人次'})
# 更新字体样式
fig2.update_layout(
template="plotly_white",
font=dict(
family="stcaiyun",
size=14,
color="#000000"
)
)
fig2.show()
总结:
2024年春节档的数据分析结果如下:
总票房和场均票房:
- 总票房:92.51亿。
- 场均票房:约1733万。
- 总人次和场均人次:
- 总人次:1.90亿。
- 场均人次:约36人次。
各电影的票房排名:
- 《热辣滚烫》:票房最高,约30.44亿。
- 《飞驰人生2》:票房第二,约27.21亿。
- 《第二十条》:票房第三,约16.59亿。
- 《熊出没·逆转时空》:票房第四,约16.13亿。
- 《我们一起摇太阳》:票房第五,约9.51亿。
票房和人次的前几名电影:
票房:
- 《热辣滚烫》
- 《飞驰人生2》
- 《第二十条》
- 《熊出没·逆转时空》
- 《我们一起摇太阳》
人次:
- 《热辣滚烫》
- 《飞驰人生2》
- 《第二十条》
- 《熊出没·逆转时空》
- 《我们一起摇太阳》
4、影片地域分布
4.1 数据概览
# 导入数据
movie_area = pd.read_csv(r'movie_area.csv')
# 显示数据的前5行以及数据的基本信息
movie_area.info()
4.2 2024年春节档各城市票房表现
filtered_data = movie_area[(movie_area['thedate'] >= '2024-02-09') & (movie_area['thedate'] <= '2024-02-20')]
# 按城市对票房进行汇总
city_level_box_office = filtered_data.groupby('CityLevel')['BoxOffice'].sum().reset_index()
city_level_box_office
fig1 = px.bar(city_level_box_office, x="CityLevel", y="BoxOffice",
title='2024年春节档各城市票房表现', text="BoxOffice",
labels={'x': '城市等级', 'y': '票房 (元)'})
# 更新字体样式
fig1.update_layout(
template="plotly_white",
font=dict(
family="stcaiyun",
size=14,
color="#000000"
)
)
fig1.show()
总结:
从条形图中可以看出,在2024年春节档期间,二线城市的票房表现最好,其次是三线城市和四线城市。一线城市的票房表现相对较差,而“其它”类别的城市票房表现居于中间位置。
5、总结
总结报告: 在2024年春节档期间,中国各城市的票房表现呈现出明显的分级趋势。二线城市因其庞大的市场规模和丰富的电影资源,成为了票房的主力军。三线城市和四线城市也表现不俗,但相对于二线城市略显逊色。一线城市的票房表现相对较差,可能与春节人口流动的有限性有关。而“其它”类别的城市则表现中规中矩,居于所有城市等级的中间位置。这一趋势反映出中国电影市场在不同城市之间的分布差异,也暗示了电影发行和营销策略可能需要根据节假日期间城市等级进行差异化调整。