現在以下のようなデータフレームを持っています。
日付(DatatimeIndex) | 商品名 | 売上数 | 月平均売上数 |
---|---|---|---|
2017-01-01 | ... | 12 | 10.2 |
2017-01-02 | ... | 22 | 10.2 |
2017-01-03 | ... | 18 | 10.2 |
2017-01-04 | ... | 16 | 10.2 |
2017-01-05 | ... | 7 | 10.2 |
2017-01-06 | ... | 11 | 10.2 |
このデータフレームに売上数を引数に取った関数を適用させたいんですが、常に計算させるわけではなく、週に4回や6回など計算させたいと考えています。
もし日付が累積で計算されて行くのであれば、以下のように計算できると思うんですが、質問としては
if day_total % 7*4 == 0: df.apply(...) ...
①DatetimeIndexのメソッドで累積の日にちを算出するような機能
②たとえば28日ごとに関数を適用させる方法
以上の2点に関してご意見をいただければと思っています。
宜しくお願いします。
追記:
例:28日ごとに関数を適用させたいイメージとしては以下になります。
def func(row): return row['売上数'] + row['月平均売上数']
日付(DatatimeIndex) | 商品名 | 売上数 | 月平均売上数 | 28日ごとに関数適用 |
---|---|---|---|---|
2017-01-01 | ... | 12 | 10.2 | 0 |
2017-01-02 | ... | 22 | 10.2 | 0 |
2017-01-03 | ... | 18 | 10.2 | 0 |
... | ... | ... | ... | 0 |
2017-01-27 | ... | 16 | 10.2 | 0 |
2017-01-28 | ... | 7 | 10.2 | ここのみfuncを適用 |
2017-01-29 | ... | 11 | 10.2 | 0 |
上記のようなイメージです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。