Ich habe auf der folgenden Website erfahren, dass Sie den Bevölkerungswechsel per CSV abrufen können. Daher werde ich ihn sofort herunterladen und das bestätigte Verfahren zusammenfassen.
Shimane no Satozukuri Support Site Open Daten
Installieren Sie die Bibliothek so, dass Japanisch zur Visualisierung korrekt angezeigt wird.
python
!pip install japanize_matplotlib
Erfolg, wenn Folgendes angezeigt wird.
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
python
import matplotlib.pyplot as plt
import japanize_matplotlib
import seaborn as sns
sns.set(font="IPAexGothic")
Da die Daten von 2012 bis 2019 heruntergeladen werden können, führen Sie den folgenden Code aus, um sie zu laden.
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
Sie können sehen, dass es 2384 Datenzeilen auf verschiedene Arten gibt.
(2384, 109)
python
df.info()
Ausführungsergebnis
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2384 entries, 0 to 297
Columns: 109 entries,Jahr bis Frau 90 Jahre und älter Geschätzte Überlebensrate
dtypes: float64(56), int64(47), object(6)
memory usage: 2.1+ MB
Es gibt 109 Zeilen ... überraschend viele.
python
for col in df.columns:
print(col)
Ausführungsergebnis.
Jahr
Bezirksvorwahl
Bezirksbezeichnung
Kommunaler Name
Gemeinden vor dem Zusammenschluss
Regionale Umgebung
Ausweisung des Standortunterstützungsbereichs
Hinweis
Gesamtbevölkerung von Männern und Frauen
Anzahl der Haushalte
Alterungsrate
Späte Alterungsrate
Bevölkerungswachstums- / -abnahmerate
Verhältnis 4 Jahre oder jünger
Verhältnis der Frauen in den 20ern und 30ern
Bevölkerungszahl der Schüler der Mittelstufe
Grundschulbevölkerung
Bevölkerungsalter im Produktionsalter
Verhältnis der jungen Altersgruppen
Grundschulbevölkerung
Junior High School Bevölkerung
Bevölkerungserhaltungsgruppe
Anzahl der Grundschüler
Männliche Bevölkerung 0-4 Jahre alt
Männliche Bevölkerung 5-9 Jahre alt
Männliche Bevölkerung 10-14 Jahre
Männliche Bevölkerung 15-19 Jahre alt
Männliche Bevölkerung 20-24 Jahre alt
Männliche Bevölkerung 25-29 Jahre alt
Männliche Bevölkerung 30-34 Jahre alt
Männliche Bevölkerung 35-39 Jahre alt
Männliche Bevölkerung 40-44 Jahre
Männliche Bevölkerung 45-49 Jahre alt
Männliche Bevölkerung 50-54 Jahre alt
Männliche Bevölkerung 55-59 Jahre alt
Männliche Bevölkerung 60-64 Jahre alt
Männliche Bevölkerung 65-69 Jahre alt
Männliche Bevölkerung 70-74 Jahre alt
Männliche Bevölkerung 75-79 Jahre
Männliche Bevölkerung 80-84 Jahre
Männliche Bevölkerung 85-89 Jahre
Männliche Bevölkerung 90-94 Jahre alt
Männliche Bevölkerung 95-99 Jahre alt
Männliche Bevölkerung über 100 Jahre alt
Weibliche Bevölkerung 0-4 Jahre alt
Weibliche Bevölkerung 5-9 Jahre alt
Weibliche Bevölkerung 10-14 Jahre alt
Weibliche Bevölkerung 15-19 Jahre alt
Weibliche Bevölkerung 20-24 Jahre alt
Weibliche Bevölkerung 25-29 Jahre alt
Weibliche Bevölkerung 30-34 Jahre alt
Weibliche Bevölkerung 35-39 Jahre alt
Weibliche Bevölkerung 40-44 Jahre alt
Weibliche Bevölkerung 45-49 Jahre alt
Weibliche Bevölkerung 50-54 Jahre alt
Weibliche Bevölkerung 55-59 Jahre alt
Weibliche Bevölkerung 60-64 Jahre alt
Weibliche Bevölkerung 65-69 Jahre alt
Weibliche Bevölkerung 70-74 Jahre alt
Weibliche Bevölkerung 75-79 Jahre
Weibliche Bevölkerung 80-84 Jahre alt
Weibliche Bevölkerung 85-89 Jahre alt
Weibliche Bevölkerung 90-94 Jahre alt
Weibliche Bevölkerung 95-99 Jahre alt
Weibliche Bevölkerung über 100 Jahre alt
Änderungsrate der männlichen Kohorte (0-4 Jahre alt)
Änderungsrate der männlichen Kohorte (5-9 Jahre alt)
Änderungsrate der männlichen Kohorte (10-14 Jahre alt)
Änderungsrate der männlichen Kohorte (15-19 Jahre)
Änderungsrate der männlichen Kohorte (20-24 Jahre)
Änderungsrate der männlichen Kohorte (25-29 Jahre)
Änderungsrate der männlichen Kohorte (30-34 Jahre)
Änderungsrate der männlichen Kohorte (35-39 Jahre)
Änderungsrate der männlichen Kohorte (40-44 Jahre)
Änderungsrate der männlichen Kohorte (45-49 Jahre alt)
Änderungsrate der männlichen Kohorte (50-54 Jahre)
Änderungsrate der männlichen Kohorte (55-59 Jahre)
Änderungsrate der männlichen Kohorte (60-64 Jahre)
Änderungsrate der männlichen Kohorte (65-69 Jahre)
Änderungsrate der männlichen Kohorte (70-74 Jahre)
Änderungsrate der männlichen Kohorte (75-79 Jahre)
Änderungsrate der männlichen Kohorte (80-84 Jahre alt)
Änderungsrate der männlichen Kohorte (85-89 Jahre alt)
Änderungsrate der männlichen Kohorte (90-94 Jahre alt)
Änderungsrate der männlichen Kohorte (95-99 Jahre alt)
Änderungsrate der männlichen Kohorte (100 Jahre und älter)
Geschätzte Überlebensrate für Männer über 90 Jahre
Kohortenänderungsrate bei Frauen (0-4 Jahre)
Kohortenänderungsrate bei Frauen (5-9 Jahre)
Kohortenänderungsrate bei Frauen (10-14 Jahre)
Kohortenänderungsrate bei Frauen (15-19 Jahre)
Kohortenänderungsrate bei Frauen (20-24 Jahre)
Kohortenänderungsrate bei Frauen (25-29 Jahre)
Kohortenänderungsrate bei Frauen (30-34 Jahre)
Kohortenänderungsrate bei Frauen (35-39 Jahre)
Kohortenänderungsrate bei Frauen (40-44 Jahre)
Kohortenänderungsrate bei Frauen (45-49 Jahre)
Kohortenänderungsrate bei Frauen (50-54 Jahre)
Kohortenänderungsrate bei Frauen (55-59 Jahre)
Kohortenänderungsrate bei Frauen (60-64 Jahre)
Kohortenänderungsrate bei Frauen (65-69 Jahre)
Kohortenänderungsrate bei Frauen (70-74 Jahre)
Kohortenänderungsrate bei Frauen (75-79 Jahre)
Kohortenänderungsrate bei Frauen (80-84 Jahre)
Kohortenänderungsrate bei Frauen (85-89 Jahre)
Kohortenänderungsrate bei Frauen (90-94 Jahre)
Änderungsrate der weiblichen Kohorte (95-99 Jahre alt)
Änderungsrate der weiblichen Kohorte (100 Jahre und älter)
Geschätzte Überlebensrate für Frauen über 90 Jahre
... ziemlich gut.
python
df["Kommunaler Name"].value_counts()
Izumo City 344
Matsue City 256
Yunnan Stadt 240
Daejeon City 216
Hamada City 200
Yasuki City 192
Masuda City 160
Etsu City 160
Oki no Shimamachi 120
Misato Town 104
Eunan Stadt 96
Tsuwano Stadt 96
Oku Izumocho 72
Yoshiga Town 40
Iinancho 40
Kawamotocho 24
Stadt Nishinoshima 8
Kaishicho 8
Tomoo Village 8
Name:Kommunaler Name, dtype: int64
Hmmmm ...
python
df[df["Kommunaler Name"] == "Matsue"]["Bezirksbezeichnung"].value_counts()
Akika 8
Greuel 8
Rohes Pferd 8
Kashima 8
Johoku 8
Yito 8
Obere Absicht Ost 8
Ohno 8
Gemeinde 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
Iya 8
Morgengetränk 8
Tamayu 8
Takeya 8
Furue 8
Shiragata 8
Yakumo 8
Josai 8
Name:Bezirksbezeichnung, dtype: int64
Hmmmm ...
Vorerst werde ich ein Diagramm der "Gesamtzahl der Männer und Frauen", der "Grundschulbevölkerung", der "Mittelschulbevölkerung" und der "Alterungsrate" zeichnen, die interessant erscheinen.
python
df_area = df.groupby(["Kommunaler Name", "Jahr"]).sum()
df_area.loc["Matsue"]["Gesamtbevölkerung von Männern und Frauen"].plot(figsize=(15,4))
plt.show()
df_area.loc["Matsue"]["Grundschulbevölkerung"].plot(figsize=(15,4))
plt.show()
df_area.loc["Matsue"]["Junior High School Bevölkerung"].plot(figsize=(15,4))
plt.show()
df_area = df.groupby(["Kommunaler Name", "Jahr"]).mean()
df_area.loc["Matsue"]["Alterungsrate"].plot(figsize=(15,4))
plt.show()
Ausführungsergebnis.
... nicht gut.
Recommended Posts