[PYTHON] Vérifions la transition démographique de la ville de Matsue, préfecture de Shimane avec des données ouvertes

introduction

J'ai appris que la transition de population peut être obtenue par CSV sur le site suivant, je vais donc la télécharger immédiatement et résumer la procédure confirmée.

Données ouvertes du site de support Shimane no Satozukuri

environnement

Préparation

Installation de la bibliothèque

Installez la bibliothèque afin que le japonais s'affiche correctement pour la visualisation.

python


!pip install japanize_matplotlib

Succès si ce qui suit est affiché.

Collecting japanize_matplotlib
  Downloading https://files.pythonhosted.org/packages/2c/aa/3b24d54bd02e25d63c8f23bb316694e1aad7ffdc07ba296e7c9be2f6837d/japanize-matplotlib-1.1.2.tar.gz (4.1MB)
     |████████████████████████████████| 4.1MB 2.8MB/s 
Requirement already satisfied: matplotlib in /usr/local/lib/python3.6/dist-packages (from japanize_matplotlib) (3.2.2)
Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->japanize_matplotlib) (2.8.1)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->japanize_matplotlib) (2.4.7)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->japanize_matplotlib) (1.2.0)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib->japanize_matplotlib) (0.10.0)
Requirement already satisfied: numpy>=1.11 in /usr/local/lib/python3.6/dist-packages (from matplotlib->japanize_matplotlib) (1.18.5)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.6/dist-packages (from python-dateutil>=2.1->matplotlib->japanize_matplotlib) (1.12.0)
Building wheels for collected packages: japanize-matplotlib
  Building wheel for japanize-matplotlib (setup.py) ... done
  Created wheel for japanize-matplotlib: filename=japanize_matplotlib-1.1.2-cp36-none-any.whl size=4120191 sha256=320f4fbd50cf3f232030ce922031d1c926db2e98033cbc3059fa06e5b28d585d
  Stored in directory: /root/.cache/pip/wheels/9c/f9/fc/bc052ce743a03f94ccc7fda73d1d389ce98216c6ffaaf65afc
Successfully built japanize-matplotlib
Installing collected packages: japanize-matplotlib
Successfully installed japanize-matplotlib-1.1.2

Cadre environnemental

python


import matplotlib.pyplot as plt
import japanize_matplotlib 
import seaborn as sns

sns.set(font="IPAexGothic")

Lecture des données

Étant donné que les données de 2012 à 2019 peuvent être téléchargées, exécutez le code suivant pour le charger.

python


import pandas as pd

url_base = "https://satodukuri.pref.shimane.lg.jp/info/opendata/download?nendo=0000&fmt=csv"

df = pd.DataFrame()

for y in range(2012, 2020):
    url = url_base.replace("0000", str(y))
    df = pd.concat([df, pd.read_csv(url)])

df.shape

Vous pouvez voir qu'il y a 2384 lignes de données de différentes manières.

(2384, 109)

Confirmation des données

python


df.info()

Résultat d'exécution

<class 'pandas.core.frame.DataFrame'>
Int64Index: 2384 entries, 0 to 297
Columns: 109 entries,Année à la femme de 90 ans et plus Taux de survie estimé
dtypes: float64(56), int64(47), object(6)
memory usage: 2.1+ MB

Il y a 109 lignes ... étonnamment nombreuses.

python


for col in df.columns:
    print(col)

Résultat de l'exécution.

année
Code de district
Nom du district
Nom municipal
Municipalités avant la fusion
Cadre régional
Désignation de la zone de support du site
Remarque
Population masculine et féminine totale
Nombre de ménages
Taux de vieillissement
Taux de vieillissement tardif
Taux d'augmentation / diminution de la population
Ratio de 4 ans ou moins
Proportion de femmes dans la vingtaine et la trentaine
Ratio de population d'élèves du premier cycle du secondaire
Ratio de population scolaire élémentaire
Ratio de population d'âge de production
Ratio des jeunes groupes d'âge
Population des écoles élémentaires
Population du premier cycle du secondaire
Groupe de maintien de la population
Nombre d'élèves du primaire
Population masculine de 0 à 4 ans
Population masculine de 5 à 9 ans
Population masculine de 10 à 14 ans
Population masculine de 15 à 19 ans
Population masculine de 20 à 24 ans
Population masculine de 25 à 29 ans
Population masculine de 30 à 34 ans
Population masculine de 35 à 39 ans
Population masculine de 40 à 44 ans
Population masculine de 45 à 49 ans
Population masculine de 50 à 54 ans
Population masculine de 55 à 59 ans
Population masculine de 60 à 64 ans
Population masculine de 65 à 69 ans
Population masculine de 70 à 74 ans
Population masculine de 75 à 79 ans
Population masculine de 80 à 84 ans
Population masculine de 85 à 89 ans
Population masculine de 90 à 94 ans
Population masculine de 95 à 99 ans
Population masculine de plus de 100 ans
Population féminine de 0 à 4 ans
Population féminine de 5 à 9 ans
Population féminine de 10 à 14 ans
Population féminine de 15 à 19 ans
Population féminine de 20 à 24 ans
Population féminine de 25 à 29 ans
Population féminine de 30 à 34 ans
Population féminine de 35 à 39 ans
Population féminine de 40 à 44 ans
Population féminine de 45 à 49 ans
Population féminine de 50 à 54 ans
Population féminine de 55 à 59 ans
Population féminine de 60 à 64 ans
Population féminine de 65 à 69 ans
Population féminine de 70 à 74 ans
Population féminine de 75 à 79 ans
Population féminine de 80 à 84 ans
Population féminine de 85 à 89 ans
Population féminine de 90 à 94 ans
Population féminine de 95 à 99 ans
Population féminine de plus de 100 ans
Taux de changement de la cohorte masculine (0-4 ans)
Taux de changement de cohorte masculine (5-9 ans)
Taux de changement de cohorte masculine (10-14 ans)
Taux de changement de cohorte masculine (15-19 ans)
Taux de changement de la cohorte masculine (20-24 ans)
Taux de changement de la cohorte masculine (25-29 ans)
Taux de changement de cohorte masculine (30-34 ans)
Taux de changement de cohorte masculine (35 à 39 ans)
Taux de changement de la cohorte masculine (40-44 ans)
Taux de changement de cohorte masculine (45-49 ans)
Taux de changement de la cohorte masculine (50-54 ans)
Taux de changement de la cohorte masculine (55-59 ans)
Taux de changement de cohorte masculine (60-64 ans)
Taux de changement de la cohorte masculine (65-69 ans)
Taux de changement de la cohorte masculine (70-74 ans)
Taux de changement de cohorte masculine (75 à 79 ans)
Taux de changement de la cohorte masculine (80-84 ans)
Taux de changement de la cohorte masculine (85-89 ans)
Taux de changement de cohorte masculine (90-94 ans)
Taux de changement de la cohorte masculine (95-99 ans)
Taux de changement de la cohorte masculine (100 ans et plus)
Taux de survie estimé pour les hommes de plus de 90 ans
Taux de changement de cohorte féminine (0-4 ans)
Taux de changement de cohorte féminine (5-9 ans)
Taux de changement de cohorte féminine (10-14 ans)
Taux de changement de cohorte féminine (15-19 ans)
Taux de changement de cohorte féminine (20-24 ans)
Taux de changement de cohorte féminine (25-29 ans)
Taux de changement de cohorte féminine (30-34 ans)
Taux de changement de cohorte féminine (35-39 ans)
Taux de changement de cohorte féminine (40-44 ans)
Taux de changement de cohorte féminine (45-49 ans)
Taux de changement de cohorte féminine (50-54 ans)
Taux de changement de cohorte féminine (55-59 ans)
Taux de changement de cohorte féminine (60-64 ans)
Taux de changement de cohorte féminine (65-69 ans)
Taux de changement de cohorte féminine (70-74 ans)
Taux de changement de cohorte féminine (75-79 ans)
Taux de changement de cohorte féminine (80-84 ans)
Taux de changement de cohorte féminine (85-89 ans)
Taux de changement de cohorte féminine (90-94 ans)
Taux de changement de cohorte féminine (95-99 ans)
Taux de changement de cohorte féminine (100 ans et plus)
Taux de survie estimé pour les femmes de plus de 90 ans

... assez bien.

Affichage des données

Confirmer le nom de la commune

python


df["Nom municipal"].value_counts()
Izumo City 344
Matsue City 256
Ville du Yunnan 240
Ville de Daejeon 216
Hamada City 200
Ville de Yasuki 192
Masuda City 160
Etsu City 160
Oki no Shimamachi 120
Ville de Misato 104
Ville d'Eunan 96
Ville de Tsuwano 96
Oku Izumocho 72
Ville de Yoshiga 40
Iinancho 40
Kawamotocho 24
Ville de Nishinoshima 8
Kaishicho 8
Village de Tomoo 8
Name:Nom municipal, dtype: int64

Hmmmm ...

Confirmer le nom du district de Matsue City

python


df[df["Nom municipal"] == "Matsue"]["Nom du district"].value_counts()
Akika 8
Abomination 8
Cheval cru 8
Kashima 8
Johoku 8
Yito 8
Intention supérieure est 8
Ohno 8
Canton d'Izumo 8
Honjo 8
Hokichi 8
Miho Seki 8
Tsuda 8
Koshihara 8
Mochida 8
Kawazu 8
Shimane 8
Saiga 8
Oba 8
Asahi 8
Joto 8
Shishido 8
Nogi 8
Yatsuka 8
Ikuya 8
Boisson du matin 8
Tamayu 8
Takeya 8
Furue 8
Shiragata 8
Yakumo 8
Josai 8
Name:Nom du district, dtype: int64

Hmmmm ...

Visualisation

Pour le moment, je vais dessiner un graphique du «nombre total d'hommes et de femmes», «population des écoles primaires», «population des écoles secondaires de premier cycle» et «taux de vieillissement», qui semblent intéressants.

python


df_area = df.groupby(["Nom municipal", "année"]).sum()

df_area.loc["Matsue"]["Population masculine et féminine totale"].plot(figsize=(15,4))
plt.show()

df_area.loc["Matsue"]["Population des écoles élémentaires"].plot(figsize=(15,4))
plt.show()

df_area.loc["Matsue"]["Population du premier cycle du secondaire"].plot(figsize=(15,4))
plt.show()

df_area = df.groupby(["Nom municipal", "année"]).mean()

df_area.loc["Matsue"]["Taux de vieillissement"].plot(figsize=(15,4))
plt.show()

Résultat de l'exécution.

Population masculine et féminine totale

Unknown.png

Population des écoles élémentaires

Unknown-2.png

Population du premier cycle du secondaire

Unknown-3.png

Taux de vieillissement

Unknown-4.png

... pas bon.

Recommended Posts

Vérifions la transition démographique de la ville de Matsue, préfecture de Shimane avec des données ouvertes
Simulons la transition du taux d'infection par rapport à la densité de population avec python
Utilisons les données ouvertes de "Mamebus" en Python
Visualisons les données pluviométriques publiées par la préfecture de Shimane
Visualisons les données de niveau d'eau de la rivière publiées par la préfecture de Shimane
Vérifier l'existence du fichier avec python
Calculons la transition du nombre de reproduction de base du nouveau virus corona par préfecture
Vérifiez la date du devoir de drapeau avec Python
Transition du baseball vue à partir des données
Vérifiez l'état des données à l'aide de pandas_profiling
J'ai essayé d'afficher les données du groupe de points DB de la préfecture de Shizuoka avec Vue + Leaflet
Pré-traitement des données préfectorales
Essayez de gratter les données COVID-19 Tokyo avec Python
Un diagramme de réseau a été créé avec les données du COVID-19.
Utilisons les données ferroviaires des informations numériques foncières nationales
Faisons l'analyse des données de naufrage du Titanic comme ça
Exécutons la commande à temps avec le bot discord
Vérifiez l'état de la mémoire du serveur avec la commande gratuite Linux
Touchons l'API de Netatmo Weather Station avec Python. #Python #Netatmo
Vérifiez l'état de fonctionnement du serveur avec la commande Linux top
Devinons l'état de développement de la ville à partir de l'image satellite.
L'histoire du rubyiste aux prises avec Python :: Dict data with pycall
[Homologie] Comptez le nombre de trous dans les données avec Python
Visualisons le nombre de personnes infectées par le virus corona avec matplotlib
Utilisons rapidement l'expression distribuée des mots avec fastText!
Essayez d'extraire les caractéristiques des données de capteur avec CNN