日本の映画市場の考察をしていたら、日本では、The LEGO Movie 2:The Second Part (レゴ ムービー 2)が全く人気が無いことに気が付いた。この映画が世界的に不人気なら、日本での不人気も納得がいくが、世界興収が200億円を超えていることから、全くの不人気ではないということが伺える。そんなわけで、レゴムービー2の国別興行収入をプロットしてみた。
import pandas as pd
import requests
df = pd.read_html(requests.get(
'https://www.the-numbers.com/box-office-records/international/all-movies/cumulative/released-in-2019').content)
df1=df[1]
#df5=df5.set_index('Rank')
df1.head()
日本映画の順位と日本市場の興収順位¶
jap = df1.loc[df1['Number OneMarket'].isin(['Japan'])]
jap.reset_index(drop=True)
残念ながら、コナンの(米国市場抜き)世界順位が20位から22位に下がっている。今度は、日本市場の興行収入順位を見てみる。
df2 = pd.read_html(requests.get(
'https://www.boxofficemojo.com/intl/japan/yearly/').content)
df3=pd.DataFrame(df2[2])
df3.columns = ['順位', 'タイトル', '配給会社', '興行収入', '公開日']
df3= df3.drop(0)
df3 = df3.reset_index(drop=True)
df3.head(10)
海外制作映画である、アベンジャーズ/エンドゲームが2位、名探偵ピカジューが7位、グリーンブックが8位、キャプテン・マーベルが9位にランクインしている。トップ10中6タイトルが日本映画というのは、日本映画が検討しているのか、外国映画が日本では受けないのか、あるいは、その両方であるということなのだろう。一番衝撃だったのは、レゴムービー2の国内興収の異常な少なさだ。
df3.tail()
df1[(df1['Movie'].str.contains("LEGO"))]
海外興収は84,519,190ドル(最新だと8530万ドル)もあるのに、日本国内興収は141,000ドルという少なさだ。これは、ブルガリアやクロアチア、アイスランド、リトアニアといった少人口国家よりも少ない数字となっている。ちなみに、レゴムービー2のアメリカ市場を含めた世界興収は191,106,508ドルと200億円を超えている。名古屋のレゴランドの悲惨な現状を鑑みるに、日本でレゴは鬼門なのかもしれない。
レゴ ムービー 2の国別興行収入¶
df4 = pd.read_html(requests.get(
'https://www.boxofficemojo.com/movies/?page=intl&id=warneranimated0518.htm').content)
df5 = pd.DataFrame(df4[6])
df5.columns = ['Country','Dist.','ReleaseDate','OpeningWknd','% of Total','Total Gross','As Of']
df5 = df5.drop(0)
df5 = df5.reset_index(drop=True)
df5 = df5.drop(1)
df5['Total Gross'] = df5['Total Gross'].str.replace('$','').str.replace(',','')
df5['Total Gross'] = df5['Total Gross'].apply(pd.to_numeric, errors="coerce").astype(int)
興収の多い国トップ10を表示する。
df5[1:].sort_values(by='Total Gross',ascending=False).head(10)
国内興行収入下位10位を表示する。
df5[1:].sort_values(by='Total Gross',ascending=True).head(10)
日本は堂々のワースト6位である。人口1億超えた先進国とは思えない酷い数字と言える。裏を返せば、それだけ、日本人にはレゴは受けないということなのだろう。
レゴムービー 2の国別興収をプロットする¶
a = df5[1:].groupby(['Country'])['Total Gross'].aggregate(sum)
for i in range(len(a)):
a[i] = a[i]*111
b = df5['Total Gross'][0]*111
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()
fig, ax = subplots(figsize=(20,16))
a.sort_values(ascending=False).plot(kind='barh',ax=ax,width=.8,color='pink')
xticks(np.arange(0,2.8e9,1e9/5),
['{}億'.format(int(x/1e8)) if x > 0 else 0 for x in np.arange(0,2.8e9,1e9/5)])
for i in ax.patches:
ax.text((i.get_width()+8e6 if int(i.get_width()) < 2e9 else i.get_width()-1.75e9),\
i.get_y()+.15,'{:,}億{:,}万{:,}円 ({:.4f}%)'.format(int(str(i.get_width())[:-8]),\
int(str(i.get_width())[-8:-4]),int(str(i.get_width())[-4:]),i.get_width()/b*100) \
if int(i.get_width()) > 1e8 else '{:,}万{:,}円 ({:.4f}%)'.format(int(str\
(i.get_width())[:-4]),int(str(i.get_width())[-4:]),i.get_width()/b*100),fontsize=15, color='k')
ax.patches[-6].set_facecolor('#aa3333');
英国が海外興収の27.7%を占めてぶっちぎりの1位である。基本的に欧州が圧倒的に興収が多い。欧州以外は、オーストラリア、メキシコ、中国、ブラジル、ニュージランド、アラブ首長国連邦といった国々が1億円を超えるか、それに近い数字を叩き出している。日本はビリから6番目に位置している。そりゃー、レゴランドも失敗するわけである。