現在以下のようなデータの解析を行っています。
日付(DatetimeIndex) | 曜日 | 商品名 | 売上数量 |
---|---|---|---|
2017-01-01 | 日曜日 | ... | 12 |
2017-01-02 | 月曜日 | ... | 94 |
2017-01-03 | 火曜日 | ... | 32 |
2017-01-04 | 水曜日 | ... | 12 |
2017-01-05 | 木曜日 | ... | 18 |
2017-01-06 | 金曜日 | ... | 25 |
2017-01-07 | 土曜日 | ... | 19 |
2017-01-08 | 日曜日 | ... | 21 |
... | ... | ... | ... |
行いたい事はこのデータに対して、2017年1月1日からの7日間の平均と標準偏差を取る事です。
そこで以下のようなコードで分析を行いました。
python
1df = pd.read_csv('data.csv', encoding='shift-jis') 2 3# indexはDatetimeIndexに変換済みです 4year_group = df.index.year.rename('year') 5month_group = df.index.month.rename('month') 6week__group = df.index.week.rename('week') 7df['週平均'] = df.groupby([year_group, month_group, week_group])['売上数量'].transform('mean') 8df['週標準偏差'] = df.groupby([year_group, month_group, week_group])['売上数量'].transform('std')
すると以下のような結果が返ってきました。
| 週平均 週標準偏差
日付
2017-01-01 12.000000 NaN
2017-01-02 33.333333 27.83080
2017-01-03 33.333333 27.83080
2017-01-04 33.333333 27.83080
2017-01-05 33.333333 27.83080
2017-01-06 33.333333 27.83080
2017-01-07 33.333333 27.83080
2017-01-08 24.834198 12.91382
私は、2017年1月1日からの7日間ごとの平均と標準偏差がほしいのですが、pandasのgroupbuメソッドで行うと、曜日区切りで計算してしまい、2017年1月1日は日曜日始まりなため、私が行いたい事が正しく計算できません。
どのような操作を行えば、曜日ではなく7日間の平均や標準偏差を取得できるのか、知見をいただければと思います。
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/10 07:12