Python:日本の過去24年の輸出相手国上位3国をプロットする

中米独に次ぐ世界第4位の世界に冠たる輸出大国日本の1995年〜2018年の最大輸出相手国の推移を考察してみる。輸出額は中国の3分の1、ドイツの半分以下でしかないが、オワコン斜陽没落国家の日本が輸出額4位をキープできているのは奇跡であると言えよう。

スポンサーリンク

最大輸出相手国をプロット

データはこのサイトからダウンロードしてくる。

import pandas as pd

df = pd.read_csv("trade.csv")
df.head()
1995年 1996年 1997年 1998年 1999年 2000年 2001年 2002年 2003年 2009年 2010年 2011年 2012年 2013年 2014年 2015年 2016年 2017年 2018年
0 総額 415309 447313 509380 506450 475476 516542 489792 521090 545484 541706 673996 655465 637476 697742 730930 756139 700358 782865 814788
1 NaN 米国 米国 米国 米国 米国 米国 米国 米国 米国 中国 中国 中国 中国 米国 米国 米国 米国 米国 中国
2 NaN 113330 121771 141689 154700 146053 153559 147111 148733 134122 102356 130856 129022 115091 129282 136493 152246 141429 151135 158977
3 NaN 韓国 韓国 台湾 台湾 台湾 台湾 中国 中国 中国 米国 米国 米国 米国 中国 中国 中国 中国 中国 米国
4 NaN 29278 31923 33352 33404 32763 38740 37637 49798 66355 87334 103740 100177 111884 126252 133815 132234 123614 148897 154702

5 rows × 25 columns

df1 = df[1:21][0:][::2].drop(['年'],axis=1)
df2 = df[1:21][1:][::2].drop(['年'],axis=1)
a=[]
c=[]
for i, col in enumerate(df1.columns):
    b=list(df1.iloc[:, i].values)
    a.append(b)
for i, col in enumerate(df2.columns):
    d=list(df2.iloc[:, i].values)
    c.append(d)
e=[]
for i in range(24):
    f=list(zip(a[i],c[i]))
    e.append(f)
years = list(range(1995,2019))
years = ",".join(map(str, years))
years = years.split(',')
a = [i[0] for i in e]
x = []
for i in range(24):
    v = list(a[i])
    v.append(years[i])
    x.append(v)
x
[['米国', '113330 ', '1995'],
 ['米国', '121771 ', '1996'],
 ['米国', '141689 ', '1997'],
 ['米国', '154700 ', '1998'],
 ['米国', '146053 ', '1999'],
 ['米国', '153559 ', '2000'],
 ['米国', '147111 ', '2001'],
 ['米国', '148733 ', '2002'],
 ['米国', '134122 ', '2003'],
 ['米国', '137307 ', '2004'],
 ['米国', '148055 ', '2005'],
 ['米国', '169336 ', '2006'],
 ['米国', '168962 ', '2007'],
 ['米国', '142143 ', '2008'],
 ['中国', '102356 ', '2009'],
 ['中国', '130856 ', '2010'],
 ['中国', '129022 ', '2011'],
 ['中国', '115091 ', '2012'],
 ['米国', '129282 ', '2013'],
 ['米国', '136493 ', '2014'],
 ['米国', '152246 ', '2015'],
 ['米国', '141429 ', '2016'],
 ['米国', '151135 ', '2017'],
 ['中国', '158977 ', '2018']]
df=pd.DataFrame(x,columns = ['国' , '貿易額', '年'])
df["貿易額"] = pd.to_numeric(df["貿易額"])
df.dtypes
国      object
貿易額     int64
年      object
dtype: object
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"] = "22"
fp = FontProperties(fname='/usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf', size=54)
rcParams['font.family'] = fp.get_name()
fig, ax = subplots(figsize=(20,12))

colors = {'米国': 'b','中国': 'r'}
a = mpatches.Patch(color='blue', label='米国')
b = mpatches.Patch(color='red', label='中国')
df[['年','貿易額']].set_index('年').plot(ax=ax,kind='barh',color=[tuple(df['国'].map(colors))])
xticks(np.arange(0, 19e4, 1e4),
           ['{}兆'.format(int(x / 1e4)) if x > 0 else 0 for x in np.arange(0, 19e4, 1e4)])
legend(handles=[a,b], loc=4, prop={'size': 26});

過去24年では、2006年の米国がピークだったようである。この年はアメリカバブルのピークの年だったので頷ける。中国が急速に伸びてはいるが、24年で日本の最大輸出相手国であったのはたったの5回しかない。とは言っても、去年記録したほぼ16兆円に達するレベルの輸出額は、過去24年間で3位の記録なので貴重であると言えるだろう。

上位3位を比較する

b = [i[1] for i in e]
y = []
for i in range(24):
    v = list(b[i])
    v.append(years[i])
    y.append(v)
y
[['韓国', '29278 ', '1995'],
 ['韓国', '31923 ', '1996'],
 ['台湾', '33352 ', '1997'],
 ['台湾', '33404 ', '1998'],
 ['台湾', '32763 ', '1999'],
 ['台湾', '38740 ', '2000'],
 ['中国', '37637 ', '2001'],
 ['中国', '49798 ', '2002'],
 ['中国', '66355 ', '2003'],
 ['中国', '79942 ', '2004'],
 ['中国', '88369 ', '2005'],
 ['中国', '107937 ', '2006'],
 ['中国', '128390 ', '2007'],
 ['中国', '129499 ', '2008'],
 ['米国', '87334 ', '2009'],
 ['米国', '103740 ', '2010'],
 ['米国', '100177 ', '2011'],
 ['米国', '111884 ', '2012'],
 ['中国', '126252 ', '2013'],
 ['中国', '133815 ', '2014'],
 ['中国', '132234 ', '2015'],
 ['中国', '123614 ', '2016'],
 ['中国', '148897 ', '2017'],
 ['米国', '154702 ', '2018']]
df1=pd.DataFrame(y,columns = ['国' , '貿易額', '年'])
df1["貿易額"] = pd.to_numeric(df1["貿易額"])
df1.dtypes
国      object
貿易額     int64
年      object
dtype: object
c = [i[2] for i in e]
z = []
for i in range(24):
    v = list(c[i])
    v.append(years[i])
    z.append(v)
z
[['台湾', '27096 ', '1995'],
 ['台湾', '28251 ', '1996'],
 ['香港', '32978 ', '1997'],
 ['香港', '29492 ', '1998'],
 ['中国', '26574 ', '1999'],
 ['韓国', '33088 ', '2000'],
 ['韓国', '30719 ', '2001'],
 ['韓国', '35724 ', '2002'],
 ['韓国', '40225 ', '2003'],
 ['韓国', '47851 ', '2004'],
 ['韓国', '51460 ', '2005'],
 ['韓国', '58489 ', '2006'],
 ['韓国', '63840 ', '2007'],
 ['韓国', '61683 ', '2008'],
 ['韓国', '44097 ', '2009'],
 ['韓国', '54602 ', '2010'],
 ['韓国', '52691 ', '2011'],
 ['韓国', '49113 ', '2012'],
 ['韓国', '55118 ', '2013'],
 ['韓国', '54559 ', '2014'],
 ['韓国', '53266 ', '2015'],
 ['韓国', '50204 ', '2016'],
 ['韓国', '59752 ', '2017'],
 ['韓国', '57926 ', '2018']]
df2=pd.DataFrame(z,columns = ['国' , '貿易額', '年'])
df2["貿易額"] = pd.to_numeric(df2["貿易額"])
df2.dtypes
国      object
貿易額     int64
年      object
dtype: object
fig, ax = subplots(figsize=(20,12))

colors = {'米国':'b','中国':'r','韓国':'tab:purple','台湾':'g','香港':'c'}
a = mpatches.Patch(color='blue', label='米国')
b = mpatches.Patch(color='red', label='中国')
c = mpatches.Patch(color='tab:purple', label='韓国')
d = mpatches.Patch(color='green', label='台湾')
e = mpatches.Patch(color='cyan', label='香港')
df[['年','貿易額']].set_index('年').plot(ax=ax,kind='barh',color=[tuple(df['国'].map(colors))])
df1[['年','貿易額']].set_index('年').plot(ax=ax,kind='barh',color=[tuple(df1['国'].map(colors))])
df2[['年','貿易額']].set_index('年').plot(ax=ax,kind='barh',color=[tuple(df2['国'].map(colors))])

xticks(np.arange(0, 19e4, 1e4),
           ['{}兆'.format(int(x / 1e4)) if x > 0 else 0 for x in np.arange(0, 19e4, 1e4)])
legend(handles=[a,b,c,d,e], loc=4, prop={'size': 26});

あまり見栄えが良くないグラフではあるが、2000年以降、韓国が不動の3位の座を保持し続けていることが分かるだろう。さらに、2001年以降は、中国とアメリカが1位、2位の争いを繰り広げている。日本の輸出は、米中韓台香の五カ国によって支えられていることが良く分かる。

fig, ax = subplots(figsize=(22,15))

colors = {'米国':'b','中国':'r','韓国':'tab:purple','台湾':'g','香港':'c'}
a = mpatches.Patch(color='blue', label='米国')
b = mpatches.Patch(color='red', label='中国')
c = mpatches.Patch(color='tab:purple', label='韓国')
d = mpatches.Patch(color='green', label='台湾')
e = mpatches.Patch(color='cyan', label='香港')
df[['年','貿易額']].set_index('年').plot(ax=ax,kind='barh',width=.25,position=0,color=[tuple(df['国'].map(colors))])
df1[['年','貿易額']].set_index('年').plot(ax=ax,kind='barh',width=0.25,position=0.5,color=[tuple(df1['国'].map(colors))])
df2[['年','貿易額']].set_index('年').plot(ax=ax,kind='barh',width=0.25,position=1,color=[tuple(df2['国'].map(colors))])
ax.set_yticks(np.arange(24))
xticks(np.arange(0, 19e4, 1e4),
           ['{}兆'.format(int(x / 1e4)) if x > 0 else 0 for x in np.arange(0, 19e4, 1e4)])
legend(handles=[a,b,c,d,e], loc=4, prop={'size': 26});

21世紀に入ってからの日本の輸出相手国の上位3国は、1位2位争い繰り広げる米国と中国と不動の3位を貫く韓国によって独占されている。米国と中華経済圏(中国・台湾・香港)の4国だけで日本の輸出総額の半分を占める。韓国を入れれば56%、タイを入れると6カ国で6割以上に達する。日本はアジアの国々と仲良くやっていくしか生きる道がない以上、過去の愚かな過ちを繰り返さないように、惨めで哀れな人道に反する戦争犯罪敗戦国という自覚を持って、媚び諂いつつ謙虚に他国に接する必要があることは言うまでもあるまい。