0
点赞
收藏
分享

微信扫一扫

【Python数据可视化】2023中秋国庆电影票房数据


📣 前言

大家好,我是 👉【Python Data实验室】

  • 👓 可视化主要使用 pyecharts、pygal
  • 🔎 数据处理主要使用 pandas

✍️ 推荐项目

  • 【爬虫】微博-任意博主发布内容数据爬取
  • 【爬虫】B站每周必看数据爬取
  • 【爬虫】链家网二手房数据爬取
  • 【爬虫】定时获取微博热搜数据
  • 【爬虫】贝壳数据爬取
  • 【爬虫】58同城租房数据爬取
  • 【天气】北上广深历史天气概览(2011~2023)
  • 【爬虫】国外QS网站-学校排名
  • 【爬虫】Python爬取当当网图书榜单
  • 【蜜雪冰城】全国各地分布
  • 【🚇🚇】全国地铁数据概览
  • 【爬虫+Pyecharts】数据可视化3万+条上市公司百度指数
  • 中国各省预期寿命数据揭示区域间差异
  • 探索中国老龄化趋势:2002-2021年各省数据解读
  • 【黑暗荣耀】豆瓣相关评论
  • 【pandas+pygal+plotly】数据分析用户运动数据
  • 【二手车价格】seaborn可视化数据集
  • 【Pygal】Pygal数据可视化二手房数据
  • 【B站】Pyecharts可视化哔哩哔哩每周必看数据
  • 【快手】可视化3万+多分类-周月-短视频商业价值榜单
  • 【三体】B站三体7万条评论数据

⏰ 温馨提示

  • 由于部分可视化代码过长隐藏,可点击跳转查看
  • 若有希望我出爬虫教程的,可以留言或者评论提供网站


Step 1. 导入模块

import numpy as np
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import *
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType
from pyecharts.components import Table
from pyecharts.globals import ChartType
from pyecharts.options import ComponentTitleOpts
from datetime import datetime
import pygal

#设置pygal与jupyter notebook交互
from IPython.display import display, HTML

base_html = """
<!DOCTYPE html>
<html>
  <head>
  <script type="text/javascript" src="http://kozea.github.com/pygal.js/javascripts/svg.jquery.js"></script>
  <script type="text/javascript" src="https://kozea.github.io/pygal.js/2.0.x/pygal-tooltips.min.js""></script>
  </head>
  <body>
    <figure>
      {rendered_chart}
    </figure>
  </body>
</html>
"""

Step 2. 数据分析可视化

2.1 影片40+指标票房数据

df1 =pd.read_excel("影片票房.xlsx")
df1.head()

Out[3]:

日期

排名

电影名称

影片英文名称

当前票房

累计票房

累计场次

累计人次

票房占比

当前场次

...

加映场票房

加映场场次

加映场人次

上座率

黄金场票房占比

黄金场场次占比

黄金场人次占比

黄金场上座率

当前排座

排座占比

0

2023-10-24

1

河边的错误

Only the River Flows

13696897.33

1.206211e+08

395777

3056080

38.03

93128

...

2304044.77

15169

59215

2.75

27.09

26.88

27.66

2.80

12735066

30.74

1

2023-10-24

2

坚如磐石

Under The Light

5890077.69

1.278079e+09

2430347

29889094

16.35

60966

...

905905.21

8782

22356

1.75

26.66

26.50

27.57

1.80

8380686

20.23

2

2023-10-24

3

志愿军:雄兵出击

THE VOLUNTEERS:TO THE WAR

4480511.57

7.479550e+08

1819984

18076913

12.44

43412

...

537103.61

4929

13917

2.24

25.59

26.11

26.27

2.21

5119376

12.36

3

2023-10-24

4

莫斯科行动

Moscow Mission

3929129.84

6.192178e+08

1478583

14611087

10.91

39853

...

618513.37

5870

15540

2.14

27.14

25.59

27.92

2.32

4625141

11.16

4

2023-10-24

5

前任4:英年早婚

The Ex-file 4

3598436.51

9.520534e+08

2052368

22615857

9.99

43653

...

634577.53

6770

16113

1.86

26.33

25.24

26.79

1.97

4893574

11.81

df1.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7618 entries, 0 to 7617
Data columns (total 41 columns):
日期         7618 non-null object
排名         7618 non-null int64
电影名称       7618 non-null object
影片英文名称     7436 non-null object
当前票房       7618 non-null float64
累计票房       7618 non-null float64
累计场次       7618 non-null int64
累计人次       7618 non-null int64
票房占比       7618 non-null float64
当前场次       7618 non-null int64
当前人次       7618 non-null int64
人次占比       7618 non-null float64
累计上映天数     7083 non-null float64
场均人次       7618 non-null int64
场均收入       7618 non-null int64
上映日期       7083 non-null object
黄金场票房      7618 non-null float64
黄金场场次      7618 non-null int64
黄金场人次      7618 non-null int64
黄金场排座      7618 non-null int64
黄金场场均人次    7618 non-null int64
票房环比       7618 non-null float64
场次环比       7618 non-null float64
人次环比       7618 non-null float64
场次占比       7618 non-null float64
上午场票房      7618 non-null float64
上午场场次      7618 non-null int64
上午场人次      7618 non-null int64
下午场票房      7618 non-null float64
下午场场次      7618 non-null int64
下午场人次      7618 non-null int64
加映场票房      7618 non-null float64
加映场场次      7618 non-null int64
加映场人次      7618 non-null int64
上座率        7618 non-null float64
黄金场票房占比    7618 non-null float64
黄金场场次占比    7618 non-null float64
黄金场人次占比    7618 non-null float64
黄金场上座率     7618 non-null float64
当前排座       7618 non-null int64
排座占比       7618 non-null float64
dtypes: float64(19), int64(18), object(4)
memory usage: 2.4+ MB

res1=df1.groupby('日期').agg({'当前票房':'sum',
                             '当前场次':'sum',
                             '当前人次':'sum',
                           }).reset_index() 
res1['当前票房(千万)'] = res1['当前票房'].apply(lambda x: round(x / 10000000, 2))
res1['当前场次(万)'] = res1['当前场次'].apply(lambda x: round(x / 10000, 2))
res1['当前人次(万)'] = res1['当前人次'].apply(lambda x: round(x / 10000, 2))
res1

Out[6]:

日期

当前票房

当前场次

当前人次

当前票房(千万)

当前场次(万)

当前人次(万)

0

2023-09-01

9.831182e+07

354503

2410749

9.83

35.45

241.07

1

2023-09-02

1.909234e+08

369042

4589989


19.09

36.90

459.00

2

2023-09-03

1.483705e+08

367183

3557974

14.84

36.72

355.80

3

2023-09-04

5.146948e+07

327540

1248629

5.15

32.75

124.86

4

2023-09-05

4.646499e+07

323182

1126111

4.65

32.32

112.61

5

2023-09-06

4.258048e+07

320222

1037762

4.26

32.02

103.78

6

2023-09-07

3.996786e+07

318720

972154

4.00

31.87

97.22

7

2023-09-08

5.733259e+07

325243

1398915

5.73

32.52

139.89

8

2023-09-09

1.854306e+08

405126

4419770

18.54

40.51

441.98

9

2023-09-10

1.402997e+08

382874

3334713

14.03

38.29

333.47

10

2023-09-11

4.796891e+07

332812

1141249

4.80

33.28

114.12

11

2023-09-12

4.368471e+07

330534

1044087

4.37

33.05

104.41

12

2023-09-13

3.890474e+07

328409

938062

3.89

32.84

93.81

13

2023-09-14

3.502844e+07

326773

850800

3.50

32.68

85.08

14

2023-09-15

7.274523e+07

383735

1908925

7.27

38.37

190.89

15

2023-09-16

1.301222e+08

425181

3290103

13.01

42.52

329.01

16

2023-09-17

1.006143e+08

400045

2533489

10.06

40.00

253.35

17

2023-09-18

3.636687e+07

349591

935965

3.64

34.96

93.60

18

2023-09-19

3.351463e+07

346788

858975

3.35

34.68

85.90

19

2023-09-20

3.147091e+07

345617

806994

3.15

34.56

80.70

20

2023-09-21

2.986064e+07

343546

763044

2.99

34.35

76.30

21

2023-09-22

3.995531e+07

357013

1016794

4.00

35.70

101.68

22

2023-09-23

7.883014e+07

387300

1970394

7.88

38.73

197.04

23

2023-09-24

6.243496e+07

384436

1553128

6.24

38.44

155.31

24

2023-09-25

2.279053e+07

336709

573955

2.28

33.67

57.40

25

2023-09-26

2.374749e+07

330703

593296

2.37

33.07

59.33

26

2023-09-27

2.350196e+07

329653

589706

2.35

32.97

58.97

27

2023-09-28

1.894139e+08

366535

4438699

18.94

36.65

443.87

28

2023-09-29

3.682207e+08

464394

8630529

36.82

46.44

863.05

29

2023-09-30

4.172952e+08

459024

9899872

41.73

45.90

989.99

30

2023-10-01

4.309503e+08

450383

10259567

43.10

45.04

1025.96

31

2023-10-02

3.740509e+08

447205

8927713

37.41

44.72

892.77

32

2023-10-03

3.401124e+08

436466

8140492

34.01

43.65

814.05

33

2023-10-04

3.113069e+08

433267

7462485

31.13

43.33

746.25

34

2023-10-05

2.886897e+08

430123

6920985

28.87

43.01

692.10

35

2023-10-06

2.071355e+08

421763

4957409

20.71

42.18

495.74

36

2023-10-07

1.019040e+08

361417

2425685

10.19

36.14

242.57

37

2023-10-08

9.639824e+07

354858

2298941

9.64

35.49

229.89

38

2023-10-09

6.819691e+07

343042

1631229

6.82

34.30

163.12

39

2023-10-10

6.368944e+07

339461

1530010

6.37

33.95

153.00

40

2023-10-11

5.952698e+07

336945

1436085

5.95

33.69

143.61

41

2023-10-12

5.552059e+07

335426

1338406

5.55

33.54

133.84

42

2023-10-13

7.861350e+07

345028

1913501

7.86

34.50

191.35

43

2023-10-14

1.479410e+08

384657

3603505

14.79

38.47

360.35

44

2023-10-15

1.103493e+08

380870

2698286

11.03

38.09

269.83

45

2023-10-16

4.060534e+07

329031

984078

4.06

32.90

98.41

46

2023-10-17

3.885102e+07

327377

948951

3.89

32.74

94.90

47

2023-10-18

3.776338e+07

325498

933613

3.78

32.55

93.36

48

2023-10-19

3.631047e+07

324388

899836

3.63

32.44

89.98

49

2023-10-20

5.330986e+07

347664

1348252

5.33

34.77

134.83

50

2023-10-21

1.317091e+08

409139

3349401

13.17

40.91

334.94

51

2023-10-22

1.004721e+08

400286

2551978

10.05

40.03

255.20

52

2023-10-23

3.843155e+07

342333

972416

3.84

34.23

97.24

53

2023-10-24

3.601739e+07

337409

912063

3.60

33.74

91.21

全国电影每日票房概览(09-01~10-24)

【Python数据可视化】2023中秋国庆电影票房数据_数据分析

全国电影每日场次概览(09-01~10-24)

【Python数据可视化】2023中秋国庆电影票房数据_Pandas_02

全国电影每日人次概览(09-01~10-24)

【Python数据可视化】2023中秋国庆电影票房数据_Pandas_03

data = df1[(df1["日期"] >= "2023-09-28") & (df1["日期"] <= "2023-10-07")]
data

Out[10]:

日期

排名

电影名称

影片英文名称

当前票房

累计票房

累计场次

累计人次

票房占比

当前场次

...

加映场票房

加映场场次

加映场人次

上座率

黄金场票房占比

黄金场场次占比

黄金场人次占比

黄金场上座率

当前排座

排座占比

2204

2023-10-07

1

坚如磐石

Under The Light

33371571.77

9.695148e+08

1007947

22505797

32.75

97150

...

5296220.91

14908

124892

5.48

25.54

25.46

25.55

5.45

14310424

31.99

2205

2023-10-07

2

前任4:英年早婚

The Ex-file 4

27205489.80

7.382305e+08

922142

17440230

26.70

76557

...

4855294.36

12928

117248

7.27

25.23

24.62

25.15

7.39

8977032

20.07

2206

2023-10-07

3

莫斯科行动

Moscow Mission

17754243.38

4.279593e+08

564992

9999561

17.42

60348

...

2969539.30

9839

70561

5.91

25.11

24.24

25.12

6.11

7113680

15.90

2207

2023-10-07

4

志愿军:雄兵出击

THE VOLUNTEERS:TO THE WAR

15993622.21

5.416451e+08

825526

12953175

15.69

68526

...

2319506.76

9315

56003

4.60

25.28

25.18

25.61

4.61

8414828

18.81

2208

2023-10-07

5

好像也没那么热血沸腾

Lose To Win

3808400.64

1.228728e+08

277496

2904999

3.74

24022

...

580461.64

3210

13748

3.77

24.40

20.63

24.47

4.50

2406371

5.38

2209

2023-10-07

6

潜艇总动员:环游地球80天

Around The World In 80 Days

955684.51

3.673079e+07

78225

756078

0.94

159

...

0.00

0

0

32.51

0.00

0.00

0.00

0.00

44504

0.10

box_office_sum = data['当前票房'].sum()  
current_session_sum = data['当前场次'].sum()  
current_per_sum = data['当前人次'].sum()

res2=data.groupby('电影名称').agg({'当前票房':'sum',
                             '当前场次':'sum',
                             '当前人次':'sum',
                           }).reset_index()

res2["票房占比"] = res2["当前票房"].apply(lambda x:round(x / box_office_sum, 6) * 100)
res2["场次占比"] = res2["当前场次"].apply(lambda x:round(x / current_session_sum, 6) * 100)
res2["人次占比"] = res2["当前人次"].apply(lambda x:round(x / current_per_sum, 6) * 100)

res2["当前票房"] = res2["当前票房"].apply(lambda x:round(x / 100000000, 4))

# 重命名列名  
res2 = res2.rename(columns={'当前票房': '累计票房(亿)'})

res2[res2["电影名称"] == "坚如磐石"]

电影名称

累计票房(亿)

当前场次

当前人次

票房占比

场次占比

人次占比

45

坚如磐石

9.6928

1007924

22501911

31.9992

23.6016

31.2251

中秋国庆档多指标多组图

【Python数据可视化】2023中秋国庆电影票房数据_Pandas_04

2.2 影片地域分布

df2 =pd.read_excel(r"/home/mw/input/movie8361/影片地域分布.xlsx")
df2.head()

CityLevel

日期

电影ID

电影名称

当前票房

当前场次

当前人次

0

一线城市

2023-10-24

39755

河边的错误

1517294

10148

39073

1

二线城市

2023-10-24

39755

河边的错误

5224273

35027

134618

2

三线城市

2023-10-24

39755

河边的错误

3094486

20698

80005

3

四线城市

2023-10-24

39755

河边的错误

2785776

18631

72490

4

其它

2023-10-24

39755

河边的错误

1297858

8684

33703

筛选中秋国庆档数据

data2 = df2[(df2["日期"] >= "2023-09-28") & (df2["日期"] <= "2023-10-07")]
data2

CityLevel

日期

电影ID

电影名称

当前票房

当前场次

当前人次

820

一线城市

2023-10-07

39741

坚如磐石

5053317

9767

97292

821

二线城市

2023-10-07

39741

坚如磐石

13461252

33978

321223

822

三线城市

2023-10-07

39741

坚如磐石

6745403

22310

164545

823

四线城市

2023-10-07

39741

坚如磐石

5640306

20681

140043

824

其它

2023-10-07

39741

坚如磐石

2467928

10394

61282

筛选城市级别

one_city = res3[(res3['CityLevel'] == '一线城市')]
two_city = res3[(res3['CityLevel'] == '二线城市')]
three_city = res3[(res3['CityLevel'] == '三线城市')]
four_city = res3[(res3['CityLevel'] == '四线城市') ]
five_city = res3[(res3['CityLevel'] == '其它')]

one_city = one_city.drop(columns='CityLevel')  
two_city = two_city.drop(columns='CityLevel')  
three_city = three_city.drop(columns='CityLevel')  
four_city = four_city.drop(columns='CityLevel')  
five_city = five_city.drop(columns='CityLevel')  
one_city_movie = one_city.rename(columns = {'当前场次': '一线城市场次','当前票房': '一线城票房','当前人次': '一线城人次'})

重组连接数据

two_city_movie = two_city.rename(columns = {'当前场次': '二线城市场次','当前票房': '二线城票房','当前人次': '二线城人次'})
three_city_movie = three_city.rename(columns = {'当前场次': '三线城市场次','当前票房': '三线城票房','当前人次': '三线城人次'})
four_city_movie = four_city.rename(columns = {'当前场次': '四线城市场次','当前票房': '四线城票房','当前人次': '四线城人次'})
five_city_movie = five_city.rename(columns = {'当前场次': '其它城市场次','当前票房': '其它城票房','当前人次': '其它城人次'})


move_top_10 = one_city_movie.merge(two_city_movie, how='left', on='电影名称').fillna(0)
move_top_10 = move_top_10.merge(three_city_movie, how='left', on='电影名称').fillna(0)
move_top_10 = move_top_10.merge(four_city_movie, how='left', on='电影名称').fillna(0)
move_top_10 = move_top_10.merge(five_city_movie, how='left', on='电影名称').fillna(0)
move_top_10






电影名称







一线城票房







一线城市场次







一线城人次







二线城票房







二线城市场次







二线城人次







三线城票房







三线城市场次







三线城人次







四线城票房







四线城市场次







四线城人次







其它城票房







其它城市场次







其它城人次







0







前任4:英年早婚







85710897







80669







1702770







258821403







300681







6144331







163199527







214992







3940494







151601179







210379







3724204







78604916







115225







1922894







1







贝肯熊:火星任务







6559418







13926







149456







19621045







52000







531675







14662251







41921







405661







13127544







40178







368745







6134718







21774







169786







2







莫斯科行动







73904241







67294







1456477







164599673







206753







3906202







89445992







127302







2173380







68865679







107336







1699111







30839750







56178







760663







3







第八个嫌疑人







634814







4122







12696







1549138







15982







37723







799209







10953







19640







744239







10351







18480







277411







5004







6934







4







潜艇总动员:环游地球80天







12121







14







288







2223612







477







36483







340849







85







5341







848294







133







13954







1260926







236







19326







5







敢死队4:最终章







426700







3970







9540







656513







13689







19503







333007







9365







10402







214316







8136







7000







107330







4258







3276







6







我是哪吒2之英雄归来







1737798







3818







39664







4909639







15824







135624







3292232







12213







93007







2992068







12255







85270







1739701







8044







48665







7







汪汪队立大功大电影2:超能大冒险







15670354







20818







372470







36154460







70504







1084488







20907691







50191







666658







16287324







43481







532779







7016665







22529







223486







8







小美人鱼之大海怪传说







106133







279







2519







265356







1085







7265







146760







724







4116







106269







714







3052







69519







436







1970







9







封神第一部:朝歌风云







199620







1290







3968







447914







4756







10867







231785







2926







5715







187007







2920







4636







86679







1449







2136







10







孤注一掷







810209







2649







17203







2024555







9921







51027







921134







6654







23175







800248







7144







20493







413908







4087







10595







11







好像也没那么热血沸腾







15783760







21176







314522







42556595







72935







1012807







25056788







51760







611539







20546928







46987







503513







8250337







23952







203646







12







奥本海默







8791416







7537







138814







6433940







11927







153784







1258281







3977







34054







399900







2262







11679







110681







927







3417







13







坚如磐石







135335252







99910







2580751







366075072







351578







8567727







208942742







234172







5021092







181596486







214608







4435968







77233670







107445







1893907







14







志愿军:雄兵出击







75917539







84163







1541968







202156911







287850







4875819







116506856







188329







2863782







99873442







173623







2496254







46916772







91390







1169706







2023年中秋国庆档电影票房地域分布(场次)-top10影片

【Python数据可视化】2023中秋国庆电影票房数据_数据分析_05

2023年中秋国庆档电影票房地域分布(人次)-top10影片

【Python数据可视化】2023中秋国庆电影票房数据_数据分析_06

2023年中秋国庆档电影票房地域分布(票房)-top10影片

【Python数据可视化】2023中秋国庆电影票房数据_Pandas_07

数据集链接👇

【电影票房】电影每日电影40+指标数据

可视化项目源码👇

【电影】Python数据可视化2023中秋国庆电影票房数据

🤓🥺😚感谢支持,以上就是本期为全部内容了,赶快一起学习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享(注明出处)让更多人知道。


举报

相关推荐

0 条评论