プログラミング学習354日目 〜Matplotlib & Seaborn 入門講座05 〜

売上管理表を使っての棒グラフの作成。

いきなり出鼻をくじかれたのが、サンプルとなる売上管理表のcsvデータが指定のページにないこと。どうしたものかと思いましたが、別の講座に似たようなデータがあったので、若干中には異なりますが、そちらを使用。

スクリーンショット 2021-01-15 20.17.33

次に困ったのが売上日の扱い。上の表の状態では売上日の型はobjectなのですが、これを日付として扱いたくdatetimeという型に変換したい。

df['売上日'] = pd.to_datetime(df['売上日'])

動画では上のコードでうまく変換されたのですが、エラーが出ました。基本的には元のデータが日付っぽいものであるなら上のコードで変換されるのですが、日本語が入っているせいなのかエラーが出ました。
調べてみたところ、引数にformatを入れればうまくいくらしく、

df['売上日'] = pd.to_datetime(df['売上日'], format='%Y年%m月%d日')

こう書いたところ無事にdatetime型に変換されました。

今回驚いたのは月別の売上合計が簡単に出せてしまうこと。
まずindexを売上日にして、

df2 = df.set_index('売上日')

スクリーンショット 2021-01-15 20.35.29

こう書くだけで

sum_df = df2[['売上金額']].resample('M').sum()

こうなります。

スクリーンショット 2021-01-15 20.39.27

売上日は各月の最終日になりますが、月ごとの売上金額の合計がいとも簡単に取得できてしまいます。
驚きです。



この記事が気に入ったらサポートをしてみませんか?