Tiré du Dossier du gouverneur de Association nationale du gouverneur Grattage
import datetime
import re
import pandas as pd
import matplotlib.pyplot as plt
def wareki2date(s):
m = re.search("(Showa|Heisei|Reiwa)([ 0-9 yuans]{1,2})An( [0-9]{1,2})Lune([ 0-9]{1,2})journée", s)
if m:
year, month, day = [1 if i == "Ancien" else int(i.strip()) for i in m.group(2, 3, 4)]
if m.group(1) == "Showa":
year += 1925
elif m.group(1) == "Heisei":
year += 1988
elif m.group(1) == "Reiwa":
year += 2018
return pd.Timestamp(year, month, day)
else:
return pd.NaT
df = pd.read_html("http://www.nga.gr.jp/app/chijifile/", attrs={"summary": "Liste des résultats de recherche"})[0]
#Convertir le calendrier japonais en calendrier occidental
df["Anniversaire"] = df["Anniversaire"].apply(wareki2date)
df["Date de l'élection"] = df["Date de l'élection"].apply(wareki2date)
df["Date d'expiration"] = df["Date d'expiration"].apply(wareki2date)
df["Date d'inauguration"] = df["Date d'inauguration"].apply(wareki2date)
df["âge"] = df["âge"].str.rstrip("âge").astype(int)
df["âge"].value_counts(bins=[20,40,45,50,55,60,65,70,75,80]).sort_index().plot.bar()
df["âge"].describe()
count 47.000000 mean 61.680851 std 9.273868 min 39.000000 25% 56.000000 50% 60.000000 75% 69.500000 max 78.000000 Nom: age, type: float64
df["Nombre de victoires"].describe()
count 47.000000 mean 2.765957 std 1.447828 min 1.000000 25% 1.000000 50% 3.000000 75% 4.000000 max 7.000000 Nom: Nombre de victoires, type: float64
La liste de l 'Association nationale des maires ne contient que les noms.
Recommended Posts