Python - 尝试计算时间t之前的平均事件时间

mad*_*aks 1 python pandas rolling-average

这是一个示例数据集:

ID  Date
1   2/3/18
1   2/7/18
1   2/14/18
1   2/16/18
Run Code Online (Sandbox Code Playgroud)

以下是最终功能的外观:

ID  Date     Running_Mean
1   2/3/18   0
1   2/7/18   4
1   2/14/18  5.5
1   2/16/18  4.33
Run Code Online (Sandbox Code Playgroud)

这是一个滚动窗口,从序列的开头开始,并继续使用数据集进行扩展.

任何帮助将非常感激.

WeN*_*Ben 5

通过使用expanding同样的事情rolling时,windows = len(df)

df.Date=pd.to_datetime(df.Date)

df.Date.diff().dt.days.expanding(1).mean()
Out[654]:
0         NaN
1    4.000000
2    5.500000
3    4.333333
Name: Date, dtype: float64
Run Code Online (Sandbox Code Playgroud)

  • 请注意,我建议将第一个值保留为NaN,因为这意味着不可用0表示不同的0天是不同的 (2认同)