【发布时间】:2021-11-28 07:19:26
【问题描述】:
我有以下数据框df:
Datetime1 Datetime2 Value
2018-01-01 00:00 2018-01-01 01:00 5
2018-01-01 01:00 2018-01-01 02:00 1
2018-01-01 02:00 2018-01-01 03:00 2
2018-01-01 03:00 2018-01-01 04:00 3
2018-01-01 04:00 2018-01-01 05:00 6
我想设置一个由Datetime1和Datetime2组成的多索引,以进一步进行数据重采样和插值(从1小时到30分钟的频率)。
如果我做df.set_index(["Datetime1","Datetime2"]).resample("30T").ffill(),那么它会失败。
期望的输出:
Datetime1 Datetime2 Value
2018-01-01 00:00 2018-01-01 01:00 5
2018-01-01 00:30 2018-01-01 01:30 5
2018-01-01 01:00 2018-01-01 02:00 1
2018-01-01 01:30 2018-01-01 02:30 1
...
【问题讨论】:
-
看起来 MultiIndex 不是适合您的工具。它用于分层索引,即带有组。见这里pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html你想达到什么目的?
Datetime2总是从Datetime1偏移 1 小时 -
你想要的输出是什么?考虑使用单个日期时间索引,但设置其
frequency(根据您的数据判断,它将是“1h”)。然后重新采样数据帧。 -
@Joooeey:是的,
Datetime2始终与Datetime1相差 1 小时。我只需要将数据从 1 小时频率重新采样到 30 分钟频率,保持相同的偏移量。对于Value,我想申请ffill()。 -
@michcio1234:所需的输出是相同的数据帧,但从 1 小时到 30 分钟的频率重新采样。如何设置单个日期时间索引和频率?
-
请在更新中查看所需的输出。
标签: python pandas datetime multi-index