以下是一个示例代码,展示了如何按日期将高时间框架的数据细分到较低时间框架,并带有滞后。
假设我们有一个包含每日数据的DataFrame对象df,其中包含日期(Date)和高时间框架的数据(High)。
import pandas as pd
# 创建示例DataFrame
data = {'Date': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04'],
'High': [100, 110, 120, 115]}
df = pd.DataFrame(data)
# 将Date列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 设置Date列为索引
df.set_index('Date', inplace=True)
# 将数据从每日细分到每小时,并将数据向后滞后1个小时
df_hourly = df.resample('H').ffill().shift(1)
# 打印结果
print(df_hourly)
此代码将输入数据从每日细分到每小时,并使用ffill()
函数将缺失的数据向前填充。然后,使用shift()
函数将数据向后滞后1个小时。
输出结果如下:
High
Date
2020-12-31 23:00:00 NaN
2021-01-01 00:00:00 100.0
2021-01-01 01:00:00 100.0
2021-01-01 02:00:00 100.0
2021-01-01 03:00:00 100.0
2021-01-01 04:00:00 100.0
2021-01-01 05:00:00 100.0
2021-01-01 06:00:00 100.0
2021-01-01 07:00:00 100.0
2021-01-01 08:00:00 100.0
2021-01-01 09:00:00 100.0
2021-01-01 10:00:00 100.0
2021-01-01 11:00:00 100.0
2021-01-01 12:00:00 100.0
2021-01-01 13:00:00 100.0
2021-01-01 14:00:00 100.0
2021-01-01 15:00:00 100.0
2021-01-01 16:00:00 100.0
2021-01-01 17:00:00 100.0
2021-01-01 18:00:00 100.0
2021-01-01 19:00:00 100.0
2021-01-01 20:00:00 100.0
2021-01-01 21:00:00 100.0
2021-01-01 22:00:00 100.0
2021-01-01 23:00:00 100.0
2021-01-02 00:00:00 110.0
2021-01-02 01:00:00 110.0
2021-01-02 02:00:00 110.0
2021-01-02 03:00:00 110.0
2021-01-02 04:00:00 110.0
2021-01-02 05:00:00 110.0
2021-01-02 06:00:00 110.0
2021-01-02 07:00:00 110.0
2021-01-02 08:00:00 110.0
2021-01-02 09:00:00 110.0
2021-01-02 10:00:00 110.0
2021-01-02 11:00:00 110.0
2021-01-02 12:00:00 110.0
2021-01-02
上一篇:按日期间隔选择多行(导致重复项)
下一篇:按日期将列表分割为子元素