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

Pandas执行value_counts后如何自动生成新列对评分计数进行分组

实现方案

用pandas的链式调用可以一次性完成统计、列名重命名、缺失评分补0、生成Rating列的全流程,不需要后续手动补列。

完整代码

import pandas as pd

# 构造原始数据(实际使用时替换为自己的数据源即可)
df = pd.DataFrame({
    'Price Rating': [1,4,3,5,1],
    'Food Rating': [1,5,4,5,1],
    'Service Rating': [2,5,3,1,5]
})

# 核心逻辑
result = df.apply(pd.Series.value_counts) \
           .rename(columns=lambda col: f"{col} Count") \
           .reindex(range(1, 6), fill_value=0) \
           .reset_index(names="Rating")

逻辑说明

  • df.apply(pd.Series.value_counts):遍历所有列分别做值计数,返回结果的行索引天然就是1~5的评分值
  • rename:批量给列名加Count后缀,匹配目标输出的列名规则
  • reindex:强制保留1~5所有评分行,某评分没有出现时计数自动填充为0,避免行缺失
  • reset_index:把存着评分的索引转成普通列,命名为Rating,直接得到目标结构

如果你的pandas版本低于1.5.0,不支持reset_index的names参数,可以把最后一步替换为.reset_index().rename(columns={'index': 'Rating'})即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:54:03