You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何简化15分钟时间区间行计数代码以绘制柱状图

简化实现方法

你可以直接用pandas内置的时间分组能力实现,不需要手动逐个写区间判断,步骤如下:

步骤1:格式转换

先把Time列从字符串转为pandas可识别的时间格式,根据你的列存储内容选对应方法:

  • 如果Time列仅存时间(无日期),转成timedelta格式:
import pandas as pd
df['Time'] = pd.to_timedelta(df['Time'])
  • 如果Time列存的是带日期的完整时间,转成datetime格式:
import pandas as pd
df['Time'] = pd.to_datetime(df['Time'])

步骤2:按15分钟区间分组统计

直接对时间列做15分钟向下取整后分组计数即可:

# 按15分钟区间分组,统计每个区间的行数
count_series = df.groupby(df['Time'].dt.floor('15T')).size()
# 转成你需要的列表格式
hist = count_series.tolist()

可选:补全无数据的区间

如果需要保证输出的列表固定是96个元素(全天24小时每15分钟一个区间,共4*24=96个),没有数据的区间自动补0,可以增加重索引逻辑:

# 生成全天所有15分钟区间的完整索引,无日期场景用timedelta_range
full_idx = pd.timedelta_range(start='00:00:00', end='23:45:00', freq='15T')
# 带日期场景如果要按天补全,可把上面换成date_range对应参数
count_series = count_series.reindex(full_idx, fill_value=0)
hist = count_series.tolist()

内容的提问来源于stack exchange,提问作者Oz123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:45:07