【发布时间】:2020-07-29 04:27:49
【问题描述】:
给定以下DataFrame(tidy格式的时间序列表):
| date | id | value |
|--------------|------|-----------|
| 2019-01-01 | AAA | 10 |
| 2019-01-01 | BBB | 20 |
| 2019-01-01 | CCC | 30 |
| 2019-01-02 | AAA | 11 |
| 2019-01-02 | CCC | 31 |
| 2019-01-03 | BBB | 22 |
我想返回一个由date 列索引的表,列:
-
n_id表示id的运行编号,在等于或晚于索引日期的日期报告至少 1 个值 -
n_value,代表非空value在索引日期或之后上报的流水号
对于上面的例子,期望的结果是
| date | n_id| n_value |
|--------------|------|-----------|
| 2019-01-01 | 3 | 6 | # ("AAA" reports [10,11], "BBB" reports [20, 22], "CCC" reports [30, 31])
| 2019-01-02 | 3 | 3 | # ("AAA" reports [11], "BBB" reports [22], "CCC" reports [31])
| 2019-01-03 | 1 | 1 | # ("BBB" reports [22])
这样做的最佳熊猫式方法是什么?
【问题讨论】:
标签: python pandas rolling-computation