質問: 全国のイベント情報をまとめたデータフレーム【df_event】のイベント数を開催年の年代ごとにカウントして棒グラフで可視化したいと考えています。 【df_event】 | イベント名 | 都道府県名 | 都道府県ナンバー | 費用(万円) | イベント計画(考案) | 開催 | | --- | --- | --- | --- | --- | --- | | 〇〇祭り | 北海道 | 0 | 780 | 1983/2/8 | 1985/4/11 | | ・ | ・ | ・ | | | | | ・ | ・ | ・ | | | | | 〇〇パーティー | 東京都 | 11 | 428 | 2003/11/30 | 2007/1/22 | | ・ | ・ | ・ | | | | | ・ | ・ | ・ | | | | | 〇〇生誕祭 | 大阪府 | 26 | 227 | 1894/9/17 | 1896/10/2 | | ・ | ・ | ・ | | | | | ・ | ・ | ・ | | | | | 〇〇イベント | 沖縄 | 46 | 356 | 1961/5/7 | 1963/3/14 | 何もいい方法が浮かばずつまずいている状態です。。 【イメージ画像】のように出力するのが目的です。。 どなたかご教授よろしくお願いいたします。。 【イメージ画像】 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/6553b4a6b4b82f5fa6911ba2629859ec.png)
回答: こんな感じでしょうか。 ``` import io import pandas as pd data = """ イベント名 都道府県名 都道府県ナンバー 費用(万円) イベント計画(考案) 開催 〇〇祭り 北海道 0 780 1983/2/8 1985/4/11 〇〇パーティー 東京都 11 428 2003/11/30 2007/1/22 〇〇生誕祭 大阪府 26 227 1894/9/17 1896/10/2 〇〇イベント 沖縄 46 356 1961/5/7 1963/3/14 """ df = pd.read_csv(io.StringIO(data), sep="\s+", engine="python") df["開催"] = pd.to_datetime(df["開催"]) groups = df["開催"].groupby(by=df["開催"].dt.year//10*10).count() # 1桁目を切り捨ててgroupby print(groups) """ => 開催 1890 1 1960 1 1980 1 2000 1 Name: 開催, dtype: int64 """ ```