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

基于多指标加权平均的汽车排名方法及Python实现方案咨询

汽车加权排名计算及实现方案

1. 排名计算公式

由于三个维度的量纲、数值范围差异极大,不能直接加权求和,需要先做归一化处理将所有指标映射到[0,1]区间后再按权重计算总评分,总评分越高排名越靠前,具体公式分两步:

步骤1:各维度归一化计算

  • 最高时速(越高越好)归一化:norm_SPEED = (当前车辆SPEED - 所有车辆SPEED最小值) / (所有车辆SPEED最大值 - 所有车辆SPEED最小值)
  • 燃油经济性(越高越好)归一化:norm_MPG = (当前车辆MPG - 所有车辆MPG最小值) / (所有车辆MPG最大值 - 所有车辆MPG最小值)
  • 购车成本(越低越好)归一化:norm_COST = (所有车辆COST最大值 - 当前车辆COST) / (所有车辆COST最大值 - 所有车辆COST最小值)

步骤2:加权计算总评分

总评分 = 0.5 * norm_SPEED + 0.3 * norm_MPG + 0.2 * norm_COST

2. 示例车辆排序结果

先统计示例数据中各维度的极值:

  • SPEED极值:最小值120,最大值170
  • MPG极值:最小值15,最大值30
  • COST极值:最小值40000,最大值80000
    逐一计算四辆车的总评分后排序结果如下:
排名车辆编号总评分
1C0.56
2D0.5
3A0.4
3B0.4

3. 代码实现方案

常用的实现工具包括Pandas(结构化数据处理最便捷)、NumPy(大规模数据向量化计算效率高),也可以用纯Python原生语法实现。

Pandas实现示例

import pandas as pd

# 构造示例数据集
car_data = {
    "CAR": ["A", "B", "C", "D"],
    "SPEED": [135, 150, 170, 120],
    "MPG": [20, 15, 18, 30],
    "COST": [50000, 60000, 80000, 40000]
}
df = pd.DataFrame(car_data)

# 归一化处理
df["norm_SPEED"] = (df["SPEED"] - df["SPEED"].min()) / (df["SPEED"].max() - df["SPEED"].min())
df["norm_MPG"] = (df["MPG"] - df["MPG"].min()) / (df["MPG"].max() - df["MPG"].min())
df["norm_COST"] = (df["COST"].max() - df["COST"]) / (df["COST"].max() - df["COST"].min())

# 计算总评分并排序
df["total_score"] = 0.5 * df["norm_SPEED"] + 0.3 * df["norm_MPG"] + 0.2 * df["norm_COST"]
sorted_df = df.sort_values(by="total_score", ascending=False).reset_index(drop=True)

# 输出排名结果
print(sorted_df[["CAR", "total_score"]])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:18:02