【发布时间】:2020-05-16 22:07:21
【问题描述】:
我有以下 Pandas 多索引 DataFrame,其中顶级索引是组 ID,二级索引是 when,采用 ISO 8601 时间格式(此处显示没有时间):
value weight
when
5e33c4bb4265514aab106a1a 2011-05-12 1.34 0.79
2011-05-07 1.22 0.83
2011-05-03 2.94 0.25
2011-04-28 1.78 0.89
2011-04-22 1.35 0.92
... ... ...
5e33c514392b77d517961f06 2009-01-31 30.75 0.12
2009-01-24 30.50 0.21
2009-01-23 29.50 0.96
2009-01-10 28.50 0.98
2008-12-08 28.50 0.65
when 当前定义为index,但这不是必需的。
断言
-
when可能不是唯一的。 - 各组的列长度可能不相等
- 在组内
when、value和weight将始终具有相同的长度(对于每个when,将始终有一个value和一个weight
问题
使用参数index_time,如何检索:
- 每个组相对于
index_time的最近过去的value和weight以及index_time和when之间的差异(以秒为单位)。 -
index_time可能是过去的某个时间,因此仅选择了whenindex_time 的条目。 - 应该以某种方式对结果进行索引,以便可以推断出每个结果的组 ID
示例
从上面看,如果index_time 是2011-05-10,那么结果应该是:
value weight age
5e33c4bb4265514aab106a1a 1.22 0.83 259200
5e33c514392b77d517961f06 30.75 0.12 72576000
【问题讨论】:
标签: pandas dataframe time-series multi-index