python pandas在时间窗口内计算事件

时间:2016-09-25 13:48:37

标签: python pandas

我有一个出现列表(从0开始的十进制年份),其中一些有一个关联的事件,标记为1或0,作为pandas数据帧的列。这是针对我在过去10年中发生严重风暴的情况。如果暴风雨严重,则标记为1,如果不严重,则标记为0。

我有兴趣计算一个特定事件的前N年事件的数量,在下面的例子中(在Excel中相当痛苦地工作),这是10年。我正在寻找一个通用的解决方案,允许我改变时间窗口参数,例如使用10年,5年,20年。我看过推荐的类似答案,但我认为我的问题有点简单,我希望有一个更简单的解决方案

+-----------------------------------+------------+-------------------------+
|             EventTime             |   Event    | Count previous 10 years |
+-----------------------------------+------------+-------------------------+
| 0                                 | 0          | 0                       |
| 1.068237534                       | 1          | 1                       |
| 1.838255342                       | 0          | 1                       |
| 2.773380548                       | 0          | 1                       |
| 2.808890959                       | 0          | 1                       |
| 3.690702466                       | 0          | 1                       |
| 9.739476712                       | 0          | 1                       |
| 10.77394795                       | 0          | 1                       |
| 12.19352575                       | 0          | 0                       |
| 13.20433753                       | 0          | 0                       |
| 17.12877178                       | 0          | 0                       |
| 19.04475205                       | 0          | 0                       |
| 20.84133616                       | 0          | 0                       |
| 24.77808603                       | 1          | 1                       |
| 25.84566548                       | 0          | 1                       |
| 28.67180137                       | 0          | 1                       |
| 29.92115671                       | 0          | 1                       |
| 29.96661096                       | 1          | 2                       |
| 31.06306027                       | 0          | 2                       |
| 32.87448904                       | 0          | 2                       |
| 34.06333781                       | 0          | 2                       |
| 34.13476411                       | 1          | 3                       |
| 34.79842082                       | 0          | 3                       |
| 35.70213288                       | 0          | 3                       |
+-----------------------------------+------------+-------------------------+

0 个答案:

没有答案