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

JavaScript/TS数组统计问题:星级评分按日统计表格异常排查

问题排查与代码修正

常见错误原因

  • 未统一日期格式:如果日期列同时存在字符串、datetime等多种格式,会导致分组出现重复日期,统计结果混乱
  • 分组统计逻辑错误:直接对星级做value_counts未结合日期分组,或groupby后未正确展开各星级为列
  • 缺失星级补全遗漏:部分日期可能没有某星级的评分,未手动补0会导致表格列不完整

修正后的代码示例(基于Pandas)

假设你的数据集包含date(日期列)和star_rating(星级评分列,值为1-5),以下是正确的统计实现:

import pandas as pd

# 统一日期格式,避免分组异常
surveyReport['date'] = pd.to_datetime(surveyReport['date']).dt.date

# 按日期+星级分组统计数量,转换为宽表
star_stats = surveyReport.groupby(['date', 'star_rating']).size().unstack(fill_value=0)

# 补全1-5星的列,确保所有星级列都存在
for star in range(1, 6):
    if star not in star_stats.columns:
        star_stats[star] = 0

# 调整列顺序并重命名,符合需求格式
star_stats = star_stats[[1, 2, 3, 4, 5]].reset_index()
star_stats.columns = ['日期', '1星', '2星', '3星', '4星', '5星']

# 查看结果
print(star_stats)

关键修正点

  • 强制统一日期格式为date类型,消除因格式差异导致的分组错误
  • 使用unstack(fill_value=0)自动将分组后的星级转换为列,缺失星级自动补0
  • 手动指定列顺序,确保输出表格的星级列按1-5的顺序排列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:15:49