如何用Pandas拆分DataFrame中每日数据为指定时间段子集?
拆分每日Pandas DataFrame的实现方法
没问题,这个需求很容易实现,咱们一步步来操作:
步骤1:确保Date和Time为可筛选的列
从你给出的结构来看,Date可能是合并显示的列(或者是多级索引的第一级)。为了方便后续筛选,我们先把Date和Time都转为普通列(如果原本是多级索引的话):
# 若Date和Time是多级索引,执行此步转成列 df = df.reset_index()
如果你的Date本身就是普通列(只是显示时合并了单元格),这一步可以直接跳过。
步骤2:提取每日00:00:00的数据到df1
直接通过Time列的精确匹配来筛选:
# 筛选Time等于00:00:00的行,copy()避免后续操作触发警告 df1 = df[df['Time'] == '00:00:00'].copy()
步骤3:提取每日00:15:00至03:00:00的数据到df2
由于Time是HH:MM:SS格式的字符串,其字典序和时间顺序完全一致,直接用范围条件筛选即可:
# 筛选Time在00:15:00到03:00:00之间的行 df2 = df[(df['Time'] >= '00:15:00') & (df['Time'] <= '03:00:00')].copy()
如果你的Time列是datetime.time类型,这个比较逻辑依然成立,无需修改代码。
内容的提问来源于stack exchange,提问作者jerry han
相关产品推荐
相关产品推荐

