常に最新!劇場版名探偵コナン歴代興行収入の推移をグラフ化する

その買うを、もっとハッピーに。|ハピタス

1997年に公開された劇場版名探偵コナン第一作「時計じかけの摩天楼」以降、毎年欠かさずに上映されている名探偵コナン映画の最新の歴代興行収入の推移をプロットする。常に最新情報がプロットされるように興収情報をチェックしていくつもりである。

スポンサーリンク

データの下準備

先ず、データを以下のサイトからダウンロードする。

import pandas as pd
import requests

df = pd.read_html(requests.get(
 'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/1.html').content)
df[1].head(2)
df1 = df[1]
df2 = pd.read_html(requests.get(
 'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/2.html').content)
df2[1].head(2)
順位 興行収入(億円) タイトル 公開年
0 101 64.4 ファンタスティック・ビーストと黒い魔法使いの誕生 2018
1 102 63.2 スター・ウォーズ エピソード6 ジェダイの帰還 1983
df3 = df2[1]
df4 = pd.read_html(requests.get(
 'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/3.html').content)
df4[1].head(2)
順位 興行収入(億円) タイトル 公開年
0 201 41.5 テッド 2013
1 202 41.5 ターミナル 2004
df5 = df4[1]
df6 = pd.read_html(requests.get(
 'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/4.html').content)
df6[1].head(2)
順位 興行収入(億円) タイトル 公開年
0 301 33.3 SP 革命篇 2011
1 302 33.2 バニラ・スカイ 2001
df7 = df6[1]
df8 = pd.read_html(requests.get(
 'http://www.eiga-ranking.com/boxoffice/japan/alltime/total/5.html').content)
df8[1].head(2)
df9 = df8[1]
df10 = pd.concat([df1,df3,df5,df7,df9])
df10 = df10.reset_index(drop=True)
df11 = df10[(df10['タイトル'].str.contains("名探偵コナン"))]
df11 = df11.drop(213)
df11 = df11.drop(columns=['順位'])
df11['興行収入(億円)'].iloc[0] = 91.8
df11 = df11.sort_values(by='公開年',ascending=False)
df11
興行収入(億円) タイトル 公開年
43 91.8 名探偵コナン ゼロの執行人 2018
96 66.3 名探偵コナン から紅の恋歌 2017
170 45.0 名探偵コナン 業火の向日葵 2015
216 40.2 名探偵コナン 異次元の狙撃手 2014
262 35.7 名探偵コナン 絶海の探偵 2013
305 32.9 名探偵コナン 11人目のストライカー 2012
325 31.5 名探偵コナン 沈黙の15分 2011
317 32.0 名探偵コナン 天空の難破船 2010
271 35.0 名探偵コナン 漆黒の追跡者 2009
471 24.2 名探偵コナン 戦慄の楽譜 2008
450 25.3 名探偵コナン 紺碧の棺 2007
358 30.3 名探偵コナン 探偵たちの鎮魂歌 2006
405 28.0 名探偵コナン 銀翼の奇術師 2004
316 32.0 名探偵コナン 迷宮の十字路 2003
291 34.0 名探偵コナン ベイカー街の亡霊 2002
381 29.0 名探偵コナン 天国へのカウントダウン 2001
462 25.0 名探偵コナン 瞳の中の暗殺者 2000
464 24.7 名探偵コナン 世紀末の魔術師 1999

データをセーブする。

df11.to_csv('conan_movie.csv', index=False)

名探偵コナン映画は、全部で23作品ないといけないのだが、5作品ほど抜けているので、ネットから適当にデータを漁ってきて足りないデータを付け足す必要がある。

import pandas as pd
import requests

df11 = pd.read_csv('conan_movie.csv',encoding='utf-8')
data = {'興行収入(億円)':['11.0','18.5','21.5','63.3','93.7','76.5','97.8','120'],
        'タイトル':['時計じかけの摩天楼','14番目の標的','水平線上の陰謀','純黒の悪夢',
                '紺青の拳','緋色の弾丸','ハロウィンの花嫁','黒鉄の魚影'],
        '公開年':['1997','1998','2005','2016','2019','2021','2022','2023']}
df12 = pd.DataFrame(data)
df12
興行収入(億円) タイトル 公開年
0 11.0 時計じかけの摩天楼 1997
1 18.5 14番目の標的 1998
2 21.5 水平線上の陰謀 2005
3 63.3 純黒の悪夢 2016
4 93.7 紺青の拳 2019
5 76.5 緋色の弾丸 2021
6 97.8 ハロウィンの花嫁 2022
7 120 黒鉄の魚影 2023
df14 = pd.concat([df11,df12])
df14 = df14.reset_index(drop=True)
df14['タイトル'] = df14['タイトル'].str.replace('名探偵コナン ','')
df14['公開年'] = df14['公開年'].apply(pd.to_numeric, errors="coerce").astype(int)
df14 = df14.sort_values(by='公開年',ascending=False)
df14['興行収入(億円)'] = df14['興行収入(億円)'].apply(pd.to_numeric, errors="coerce").astype(float)
#df14['興行収入(億円)'].iloc[0] = 85.8
スポンサーリンク

1997年以降の興行収入推移をプロット

from matplotlib.pyplot import *
from matplotlib.font_manager import FontProperties
from matplotlib import rcParams
import matplotlib.patches as mpatches
style.use('ggplot')

rcParams["font.size"] = "18"
fp = FontProperties(fname='/usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf', size=54)
rcParams['font.family'] = fp.get_name()
rcParams["font.size"] = "25"
fig, ax = subplots(figsize=(20,15))
df14.set_index('タイトル').plot(ax=ax,y='興行収入(億円)',kind='barh',color='pink',width=.7)
rc('xtick', labelsize=25)
rc('ytick', labelsize=25)
xticks(np.arange(0,14e1,2e1/2),
   ['{}億'.format(int(x)) if x > 0 else 0 for x in np.arange(0,14e1,2e1/2)])
for j,i in enumerate(ax.patches):
    ax.text((i.get_width()+.7 if int(i.get_width()) < 100 else i.get_width()-22),i.get_y()+.125,\
    '{}億円 ({}年)'.format(float(str(i.get_width())),df14['公開年'].iloc[j]), fontsize=20, color='k');

名探偵コナン映画が、遂に、26作目にして興行収入が100億円の大台を超えました。2023年5月27日現在の推定興収が120億円となっています。昨今のコナンアニオリの著しいクオリティ劣化に比べると、コナン映画のクオリティはここ数年で飛躍的に上がっているように思えます。

スポンサーリンク
スポンサーリンク