Python:国籍別に在留外国人数の多い市町村を抽出する

市町村別の在留外国人数を調べてみる。このサイトによると、平成30年末の在留外国人数は273万1093人、国籍別では、中国76万4720人、韓国44万9634人、ベトナム33万835人、フィリピン27万1289人となっている。アジア系が圧倒的に多いようである。

スポンサーリンク

データの下準備

先ず、このサイトから必要なデータを拾ってくる。

import pandas as pd

df = pd.read_excel('foreignerpopu.xlsx',encoding='cp932',skiprows=3)
#df.drop(['団体コード'],axis=1,inplace=True)
df.head(2)
市 区 町 村 Unnamed: 1 Unnamed: 2 総数 中国 韓国 ベトナム フィリピン ブラジル ネパール 台湾 米国 その他
0 北海道 札幌市 NaN 13053.0 4380.0 2478.0 967.0 441.0 80.0 255.0 497.0 634.0 3321.0
1 NaN NaN 中央区 2581.0 755.0 559.0 173.0 76.0 15.0 51.0 141.0 170.0 641.0

Unnamed: 2が邪魔臭い場合、以下のようにすればいい。

df.dropna(subset=['Unnamed: 1']).head(2)
市 区 町 村 Unnamed: 1 Unnamed: 2 総数 中国 韓国 ベトナム フィリピン ブラジル ネパール 台湾 米国 その他
0 北海道 札幌市 NaN 13053.0 4380.0 2478.0 967.0 441.0 80.0 255.0 497.0 634.0 3321.0
11 NaN 函館市 NaN 943.0 245.0 150.0 203.0 52.0 2.0 45.0 28.0 31.0 187.0

外国人の多い市町村を人種別に抽出する

先ずは中国人の多い市町村を抽出する。

df.sort_values(by='中国',ascending=False).head(10)
市 区 町 村 Unnamed: 1 Unnamed: 2 総数 中国 韓国 ベトナム フィリピン ブラジル ネパール 台湾 米国 その他
813 東京都 特別区 NaN 468279.0 179882.0 80573.0 30000.0 24981.0 2429.0 24471.0 16972.0 15962.0 93009.0
876 神奈川県 横浜市 NaN 97315.0 39285.0 13187.0 6413.0 8292.0 2647.0 3406.0 2885.0 2651.0 18549.0
1457 大阪府 大阪市 NaN 136925.0 33758.0 65090.0 12304.0 3808.0 1000.0 1774.0 5052.0 1591.0 12548.0
1279 愛知県 名古屋市 NaN 83225.0 23429.0 15843.0 8534.0 9378.0 4511.0 5992.0 1183.0 1789.0 12566.0
679 NaN 川口市 NaN 34905.0 20448.0 2815.0 3076.0 2499.0 278.0 848.0 481.0 178.0 4282.0
836 NaN NaN 江戸川区 35648.0 15225.0 4508.0 2473.0 2826.0 187.0 1149.0 765.0 381.0 8134.0
895 NaN 川崎市 NaN 41905.0 15087.0 7761.0 3112.0 4345.0 830.0 1181.0 1121.0 983.0 7485.0
821 NaN NaN 江東区 29629.0 14590.0 4651.0 1076.0 1560.0 97.0 593.0 712.0 483.0 5867.0
817 NaN NaN 新宿区 44652.0 14115.0 10530.0 3857.0 851.0 147.0 3811.0 1932.0 1105.0 8304.0
832 NaN NaN 板橋区 26009.0 13684.0 3190.0 1547.0 1502.0 116.0 1128.0 957.0 333.0 3552.0

埼玉県川口市は人口の割に中国人が多いようである。次に韓国人の多い市町村を抽出する。

city=df[(df['総数'] < 450000 )]
city.sort_values(by='韓国',ascending=False).head(10)
市 区 町 村 Unnamed: 1 Unnamed: 2 総数 中国 韓国 ベトナム フィリピン ブラジル ネパール 台湾 米国 その他
1457 大阪府 大阪市 NaN 136925.0 33758.0 65090.0 12304.0 3808.0 1000.0 1774.0 5052.0 1591.0 12548.0
1469 NaN NaN 生野区 28067.0 2427.0 21512.0 1945.0 126.0 23.0 131.0 367.0 82.0 1454.0
1414 京都府 京都市 NaN 45752.0 11670.0 19720.0 2021.0 1142.0 155.0 557.0 1550.0 1269.0 7668.0
1536 兵庫県 神戸市 NaN 48612.0 13516.0 16336.0 6815.0 1260.0 419.0 848.0 1368.0 1228.0 6822.0
1279 愛知県 名古屋市 NaN 83225.0 23429.0 15843.0 8534.0 9378.0 4511.0 5992.0 1183.0 1789.0 12566.0
876 神奈川県 横浜市 NaN 97315.0 39285.0 13187.0 6413.0 8292.0 2647.0 3406.0 2885.0 2651.0 18549.0
817 NaN NaN 新宿区 44652.0 14115.0 10530.0 3857.0 851.0 147.0 3811.0 1932.0 1105.0 8304.0
1515 NaN 東大阪市 NaN 17873.0 3821.0 9894.0 1705.0 509.0 153.0 114.0 207.0 127.0 1343.0
895 NaN 川崎市 NaN 41905.0 15087.0 7761.0 3112.0 4345.0 830.0 1181.0 1121.0 983.0 7485.0
834 NaN NaN 足立区 31539.0 13545.0 7578.0 1532.0 3708.0 170.0 466.0 633.0 285.0 3622.0

大阪市生野区が対日本人人口比で圧倒的なようである。今度はベトナム人が多く住む市町村を抽出する。

city=df[(df['総数'] < 450000 )]
city.sort_values(by='ベトナム',ascending=False).head(10)
市 区 町 村 Unnamed: 1 Unnamed: 2 総数 中国 韓国 ベトナム フィリピン ブラジル ネパール 台湾 米国 その他
1457 大阪府 大阪市 NaN 136925.0 33758.0 65090.0 12304.0 3808.0 1000.0 1774.0 5052.0 1591.0 12548.0
1279 愛知県 名古屋市 NaN 83225.0 23429.0 15843.0 8534.0 9378.0 4511.0 5992.0 1183.0 1789.0 12566.0
1536 兵庫県 神戸市 NaN 48612.0 13516.0 16336.0 6815.0 1260.0 419.0 848.0 1368.0 1228.0 6822.0
876 神奈川県 横浜市 NaN 97315.0 39285.0 13187.0 6413.0 8292.0 2647.0 3406.0 2885.0 2651.0 18549.0
1952 NaN 福岡市 NaN 36729.0 12149.0 6417.0 5621.0 1204.0 94.0 4168.0 743.0 868.0 5465.0
817 NaN NaN 新宿区 44652.0 14115.0 10530.0 3857.0 851.0 147.0 3811.0 1932.0 1105.0 8304.0
829 NaN NaN 豊島区 30672.0 12780.0 2593.0 3815.0 513.0 84.0 3653.0 1313.0 457.0 5464.0
756 NaN 船橋市 NaN 18065.0 7372.0 1586.0 3140.0 1247.0 403.0 1268.0 335.0 236.0 2478.0
895 NaN 川崎市 NaN 41905.0 15087.0 7761.0 3112.0 4345.0 830.0 1181.0 1121.0 983.0 7485.0
679 NaN 川口市 NaN 34905.0 20448.0 2815.0 3076.0 2499.0 278.0 848.0 481.0 178.0 4282.0

船橋市の人口は川崎市の半分以下、外国人人口自体が川崎市の半分以下なのに、ベトナム人とネパール人人口が川崎市より多いというのが面白い。

北海道勇払郡占冠村の謎

占冠村の外国人率が異常に高かったので、どの国籍が多いのか抽出してみる。

df[df['Unnamed: 2']=='占冠村']
市 区 町 村 Unnamed: 1 Unnamed: 2 総数 中国 韓国 ベトナム フィリピン ブラジル ネパール 台湾 米国 その他
135 NaN NaN 占冠村 295.0 24.0 36.0 0.0 14.0 1.0 28.0 94.0 4.0 94.0

このデータ(2018年6月)では295人となっているが、前回のデータ(2018年1月)では329人となっている。このサイトの最新データでは、占冠(しむかっぷ)村は人口1,241人(-186)、※うち外国人数131人(-186)※( )内は前月末との差となっている。現在の外国人比率は1割まで下がっている。年度末で一気に外国人が転出しているので、農業や酪農の実習生なのかと思ったが、このサイトによると、トマム地区の星野リゾート施設で働く外国人労働者達で、彼等は観光期のみ占冠村に滞在するようである。