以下是一个示例代码,演示如何按时间间隔拆分数据框:
import pandas as pd
# 创建示例数据框
data = {'时间': ['2021-01-01 09:00:00', '2021-01-01 09:15:00', '2021-01-01 09:30:00', '2021-01-01 09:45:00', '2021-01-01 10:00:00'],
'数值': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)
# 将时间列转换为日期时间类型
df['时间'] = pd.to_datetime(df['时间'])
# 设置时间间隔(例如15分钟)
interval = pd.Timedelta(minutes=15)
# 拆分数据框
splitted_dfs = []
start_time = df['时间'].min()
end_time = df['时间'].max()
while start_time <= end_time:
end_time_interval = start_time + interval
splitted_df = df[(df['时间'] >= start_time) & (df['时间'] < end_time_interval)]
splitted_dfs.append(splitted_df)
start_time = end_time_interval
# 打印拆分后的数据框
for df in splitted_dfs:
print(df)
这段代码首先创建了一个示例数据框,其中包含一个时间列和一个数值列。然后,将时间列转换为日期时间类型,并设置了一个时间间隔(在这个示例中是15分钟)。
接下来,使用一个循环来拆分数据框。循环的条件是起始时间小于等于结束时间。在每次循环中,根据起始时间和时间间隔筛选出符合条件的子数据框,并将其添加到一个列表中。然后,将起始时间更新为结束时间间隔。
最后,使用一个循环来打印拆分后的数据框。你可以根据自己的需求对这些数据框进行进一步处理或保存到文件中。
上一篇:按时间或运行总和缓冲的反应式扩展
下一篇:按时间间隔查询Dynamo