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

如何对合并后的共享单车与天气数据按小时统计骑行ID数量

你现有代码的逻辑不符合需求:ID是单次骑行的唯一标识,按['date','ID']分组后每组仅对应1条记录,统计得到的counts值全部为1,无法实现按小时统计骑行总量的目标。

正确实现方法

根据你分析天气对骑行量影响的需求,推荐按天气表的逐小时date字段分组统计,刚好可以匹配每个时段对应的天气指标:

  1. 基础统计(仅统计每小时骑行量)
import pandas as pd
# 先将date字段统一转换为时间格式,避免字符串匹配出错
data['date'] = pd.to_datetime(data['date'])
# 按逐小时时间分组统计骑行ID的数量
hourly_rent = data.groupby('date', as_index=False)['ID'].count().rename(columns={'ID': 'rent_count'})
  1. 保留天气指标(方便后续直接做相关性分析)
hourly_data = data.groupby('date', as_index=False).agg(
    rent_count = ('ID', 'count'),
    rain = ('rain', 'first'),
    temp = ('temp', 'first'),
    wdsp = ('wdsp', 'first')
)
  1. 可选:按自然小时聚合(统计0-23点每个小时的平均骑行量和对应天气均值)
# 提取小时维度
data['hour'] = data['date'].dt.hour
hour_avg = data.groupby('hour', as_index=False).agg(
    avg_rent = ('ID', 'count'),
    avg_rain = ('rain', 'mean'),
    avg_temp = ('temp', 'mean'),
    avg_wdsp = ('wdsp', 'mean')
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:06:04