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

如何使用Pandas反转DataFrame中的客户反馈评分值?

如何用Pandas反转1-5的评分体系

嘿,这个需求挺常见的,用Pandas有几种简单高效的方法可以实现,我给你详细说说:

方法一:利用数学公式(最简洁)

因为你的评分是1-5的线性区间,反转逻辑刚好可以用6减去原评分来实现:

  • 5分 → 6-5=1分
  • 4分 → 6-4=2分
  • 3分 → 6-3=3分(保持不变)
  • 2分 → 6-2=4分(顺带也处理了反向情况)
  • 1分 → 6-1=5分

代码示例:

import pandas as pd

# 假设你的数据框是df,评分列名为'review_score'
df['reversed_score'] = 6 - df['review_score']

这个方法的优势是代码极简,不需要额外创建映射表,适合这种规则固定的线性反转场景。

方法二:使用map函数(更灵活)

如果以后你的反转规则有变化(比如不是完全线性反转),可以用字典映射的方式,可读性更强也更灵活:

首先创建一个评分映射字典,然后用map()方法批量转换:

# 创建反转映射字典
score_mapping = {1:5, 2:4, 3:3, 4:2, 5:1}

# 应用映射
df['reversed_score'] = df['review_score'].map(score_mapping)

这个方法的好处是逻辑清晰,如果后续需要调整反转规则,直接修改字典里的键值对就行,维护起来更方便。

测试示例

你可以用下面的代码快速验证效果:

# 创建测试数据
test_data = pd.DataFrame({'review_score': [1,2,3,4,5]})
# 用方法一添加反转评分
test_data['reversed_score'] = 6 - test_data['review_score']
print(test_data)

输出结果会是:

review_score  reversed_score
0             1               5
1             2               4
2             3               3
3             4               2
4             5               1

完全符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:28:02