我想对包含过去属性日历及其可用天数,预订天数和预订天数的表进行条件移动平均。表格示例
Date | ID | Reservation Day | Booked | Conditional 30 MA|
2019-03-30 11 2019-02-26 1
2019-03-29 11 2019-02-26 0
. . . .
. . . .
. . . .
2019-03-20 11 2019-03-06 1
. . . .
. . . .
. . . .
2019-03-01 11 2019-02-26 1
2019-04-31 20 2019-04-26 1
2019-04-29 20 2019-04-26 0
. . . .
. . . .
. . . .
2019-04-20 . 20 2019-03-06 1
. . . .
. . . .
. . . .
2019-04-01 20 2019-03-06 1
例如,我想得到的是什么。对于ID = 11的属性以及日期为“ 2019-03-01”的行,我需要获取Booked列的30天ma,但是将保留日>到行日期的天数设为0得到马。在这种情况下,我将必须平均将“ 2019-03-20”天算作0,因为其预订天数大于“ 2019-03-01”,依此类推。假设现在我们获取日期为“ 2019-03-19”的ma,在这种情况下,现在将“ 2019-03-20”视为1。我将不得不对其他ID执行此操作,因此是移动平均线的一组。我已经阅读了与此相关的其他问题,但是他们没有解决此问题。
答案 0 :(得分:0)
嗨,我认为您需要这样的东西:
dataframe.groupby('ID')['booked'].rolling(30).mean()
您还必须订购预定日期才能使用此功能