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

Pandas按时段分组地下传感器车流数据并计算均值的实现方法

解决方案:按时段分组分析传感器车流量均值

没问题!针对你要按时段分组每个传感器站点、计算车流量均值并保留月日信息的需求,用Python的Pandas就能轻松实现,我给你整理了详细的步骤和代码示例:

步骤1:确保时间列是datetime类型

首先得把你的时间列转换成Pandas的datetime格式,这是后续处理时段的基础:

import pandas as pd

# 假设你的数据框名为df,时间列名为'datetime'
df['datetime'] = pd.to_datetime(df['datetime'])

步骤2:给每个数据行分配时段标签

我们可以用pd.cut()函数根据小时把时间划分成你需要的4个时段,同时给每个时段起直观的名称:

# 定义时段的小时区间和对应的标签
time_bins = [0, 6, 12, 18, 24]
time_labels = [
    '夜间(00:00-06:00)',
    '上午(06:00-12:00)',
    '下午(12:00-18:00)',
    '晚间(18:00-24:00)'
]

# 提取小时值,然后分配时段标签
df['hour'] = df['datetime'].dt.hour
df['time_period'] = pd.cut(
    df['hour'],
    bins=time_bins,
    labels=time_labels,
    include_lowest=True  # 确保00:00的小时被包含在第一个时段
)

步骤3:提取日期的月和日信息

用dt.strftime()把日期格式化为「月-日」的字符串,这样分组时就能只保留你需要的日期维度:

# 生成月-日列,比如"05-20"代表5月20日
df['month_day'] = df['datetime'].dt.strftime('%m-%d')

步骤4:分组计算车流量均值

最后按「站点ID」「月-日」「时段」三个维度分组,计算每组的车流量均值:

# 分组并计算均值,reset_index()把结果转成普通数据框格式
traffic_trend = df.groupby(
    ['station_id', 'month_day', 'time_period']
)['traffic_volume'].mean().reset_index()

# 查看结果
print(traffic_trend.head())

可能的问题排查

如果你之前尝试失败,大概率是这两个原因:

  • 没有把时间列转换成datetime类型,导致无法提取小时、月日等时间属性
  • 分组时遗漏了「站点ID」或「月-日」维度,导致结果不是按每个站点每天的时段来统计

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 18:07:35