前提
下記のデータ(CSV)を用いています。
pandsでCSVインポートし、dfに格納しています。
日付 | ID | 商品ID | 単価 | 数量 |
---|---|---|---|---|
2018-03-01 | 1 | 38 | 1000 | 1 |
2018-04-06 | 2 | 11 | 1280 | 1 |
2018-04-08 | 3 | 38 | 1000 | 1 |
2018-04-30 | 4 | 20 | 1500 | 1 |
2018-05-01 | 5 | 38 | 1000 | 1 |
2018-05-10 | 6 | 38 | 1000 | 1 |
実現したいこと
取引ごとの売上データから、月別の合計売上額に加工し、それをmatplotlibで折れ線グラフにしたいと思っています。
発生している問題・エラーメッセージ
TypeError: float() argument must be a string or a number, not 'Period'
該当のソースコード
import pandas as pd import matplotlib.pyplot as plt %matplotlib inline #まず各取引ごとの合計額を出す df['売上金額'] = df['単価'] * df['数量'] #日付から月を出す df['年月'] = df['日付'].dt.to_period('M') #月単位で丸める #月別の売上データを作成する month_amt = df.groupby('年月').sum()['売上金額'] #グラフにプロットする plt.plot(month_amt)
試したこと
プロットさせるスクリプトが下記だと問題なく出力できましたが、なぜ上記だとできないのでしょうか?
python
1month_amt.plot()
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/16 04:31
2022/07/16 05:49