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

如何使用pandas按Date和Start Time两列分组统计各组合出现次数

错误原因

你原有代码的核心问题是Start Time字段为字符串类型,仅按Date分组后调用sum()会触发字符串拼接逻辑,而非统计次数,且没有同时按Date和Start Time两个维度分组,无法得到双维度匹配的计数结果。

修正后代码

import pandas as pd

df = pd.read_excel(xls)

# 按日期+开始时间双维度分组,统计每组出现次数
total = df.groupby(['Date', 'Start Time']).size().reset_index(name='出现次数')

# 调整显示配置
pd.set_option("display.max_rows", None, "display.max_columns", None)
# 如需对齐示例的列间距,可替换print(total)为下面这行代码
# print(total.to_string(col_space={'Date':12, 'Start Time':15, '出现次数':5}, index=False))
print(total)

input()

逻辑说明

  • groupby(['Date', 'Start Time']) 按日期、开始时间两个维度做分组,保证每个分组对应唯一的「日期+开始时间」组合
  • size() 统计每个分组的行数,即该组合的总出现次数
  • reset_index(name='出现次数') 将分组生成的多级索引转为普通列,同时自定义计数字段的名称,匹配输出需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:54:05