データ分析、IT、業務効率に関するブログ

アキの自由分析ブログ

日本全国での国籍別_在留外国人の人数をmatplotlibでグラフ表示

2022/09/05
 
この記事を書いている人 - WRITER -
都内の小さなAI会社に勤務しているアキです。
業務では、データ分析、システム開発、AI開発などを行っています。
エンジニアとして日々、勉強中です。

こんにちは!アキです!

日本全国での国別在留外国人をグラフにしたいと思います。

データは、総務省統計局のデータを使います。

https://www.e-stat.go.jp/

import pandas as pd
import matplotlib.pyplot as plt
# 日本語の文字化け対策
import japanize_matplotlib

# 警告は無視
import warnings
warnings.filterwarnings('ignore')

# read
df = pd.read_excel('市区町村別_国籍・地域別_在留外国人21-12-03-1.xlsx', engine='openpyxl', skiprows=[0])
# 余分なところをカット
df = df[:1961]

# 都道府県だけ
df_res = df[df['市区町村コード'].astype('float32')%1000==0]
# 余計な列を削除
df_res = df_res.dropna(axis=0, how='all').dropna(axis=1, how='all')

df_all = pd.DataFrame(df.iloc[0]).T[['中国', 'ベトナム', '韓国', 'フィリピン', 'ブラジル',  'ネパール', 'インドネシア', '米国', '台湾', 'タイ', 'その他']]

country = ['中国', 'ベトナム', '韓国', 'フィリピン', 'ブラジル',  'ネパール', 'インドネシア', '米国', '台湾', 'タイ', 'その他']

list_population=[]
for population in country:
    list_population.append(df_all[population].values[0])

plt.figure(figsize=(12,10))
plt.rcParams["font.size"] = 12
plt.xlabel('国別')
plt.ylabel('人口')
plt.title(f"日本国内の国別の人口_総数_{int(df.iloc[0]['総数'])}人_2021年12月時点")
plt.grid()
plt.bar(country, list_population, align="center")

グラフを見ますと、中国、ベトナム、韓国の方が多いですね。米国の方が日本に少ないのが意外でした(^^)
この記事を書いている人 - WRITER -
都内の小さなAI会社に勤務しているアキです。
業務では、データ分析、システム開発、AI開発などを行っています。
エンジニアとして日々、勉強中です。

- Comments -

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Copyright© アキの自由分析ブログ , 2022 All Rights Reserved.