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

如何按类别统计数据集中日期出现次数并生成新DataFrame

解决按日期和类别统计总次数的问题

你的需求是统计每个日期下各分类的出现总次数,目前的代码逻辑不符合需求,以下是修正后的方案:

核心思路

利用pandas的分组聚合功能,直接按date和class_id分组,统计每组的记录数量(完全匹配你给出的示例输出要求)。

修正后的代码

from google.colab import drive
drive.mount('/content/gdrive', force_remount=True)

import pandas as pd

# 读取CSV文件,解析时间列并设为索引
data = pd.read_csv(
    'gdrive/My Drive/Colab_Notebooks/classproject/classdata.csv',
    parse_dates=['timedate'],
    index_col='timedate'
)

# 从时间索引中提取日期字段
data['date'] = data.index.date

# 按日期和类别分组,统计每组记录数并转换为目标DataFrame
result = data.groupby(['date', 'class_id']).size().reset_index(name='count')

# 输出结果
print(result)

代码说明

  1. 清理冗余依赖:移除了不需要的sklearn相关库(你的需求和机器学习无关)
  2. 分组统计:groupby(['date', 'class_id'])将数据按日期+类别维度拆分,size()统计每组的记录条数,reset_index(name='count')把聚合结果转换为标准DataFrame格式
  3. 结果匹配示例:运行后会直接输出和你预期一致的统计结果

额外适配

如果你的输入CSV中count列是需要求和的数值(而非记录序号),只需将size()替换为求和逻辑即可:

result = data.groupby(['date', 'class_id'])['count'].sum().reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 06:43:29