根据 'weights' 计算 'Ranking' - 给定不同范围的值,公式是什么
Calculate 'Ranking' based on 'weights' - what's the formula , given different ranges of values
给定汽车列表及其最高速度、MPG 和汽车成本。我想给他们排名。速度 a 'weight' 为 50%,MPG 'weight' 为 30%,汽车成本为 20%。
车越快越好.. MPG越高越好... COST越低越好...
根据这个标准,我可以使用什么数学公式对汽车进行排序?
所以给出这个列表。我如何给他们排名?给定然后每个的范围都不同?
CAR SPEED MPG COST
A 135 20 50,000
B 150 15 60,000
C 170 18 80,000
D 120 30 40,000
您的问题的更通用术语是 'Multi-Criteria Decision Analysis',这是一个经过深入研究的主题,您将能够为不同的用例找到不同的模型。
让我们为您的案例采用一个简单的模型,我们将根据权重创建一个分数并为每辆车计算它:
import pandas as pd
data = pd.DataFrame({
'CAR': ['A','B','C','D'],
'SPEED': [135, 150, 170, 120],
'MPG': [20, 15, 18, 30],
'COST': [50000, 60000, 80000, 4000]
})
def Score(df):
return 0.5*df['SPEED'] + 0.3*df['MPG'] + 0.2*df['COST']
data['SCORE'] = data.apply(lambda x: Score(x), axis=1)
data = data.sort_values(by=['SCORE'], ascending=False)
print(data)
这会给我们:
CAR SPEED MPG COST SCORE
2 C 170 18 80000 16090.4
1 B 150 15 60000 12079.5
0 A 135 20 50000 10073.5
3 D 120 30 40000 8069.0
正如您在函数 "SCORE"
中看到的那样,我们只是将值乘以权重并将它们相加以获得我们列出项目所基于的新值。
这里重要的考虑因素是您是否对我们在 Score 中使用的公式感到满意。您可以随心所欲地更改它,无论您出于何种目的构建模型。
给定汽车列表及其最高速度、MPG 和汽车成本。我想给他们排名。速度 a 'weight' 为 50%,MPG 'weight' 为 30%,汽车成本为 20%。
车越快越好.. MPG越高越好... COST越低越好...
根据这个标准,我可以使用什么数学公式对汽车进行排序?
所以给出这个列表。我如何给他们排名?给定然后每个的范围都不同?
CAR SPEED MPG COST
A 135 20 50,000
B 150 15 60,000
C 170 18 80,000
D 120 30 40,000
您的问题的更通用术语是 'Multi-Criteria Decision Analysis',这是一个经过深入研究的主题,您将能够为不同的用例找到不同的模型。
让我们为您的案例采用一个简单的模型,我们将根据权重创建一个分数并为每辆车计算它:
import pandas as pd
data = pd.DataFrame({
'CAR': ['A','B','C','D'],
'SPEED': [135, 150, 170, 120],
'MPG': [20, 15, 18, 30],
'COST': [50000, 60000, 80000, 4000]
})
def Score(df):
return 0.5*df['SPEED'] + 0.3*df['MPG'] + 0.2*df['COST']
data['SCORE'] = data.apply(lambda x: Score(x), axis=1)
data = data.sort_values(by=['SCORE'], ascending=False)
print(data)
这会给我们:
CAR SPEED MPG COST SCORE
2 C 170 18 80000 16090.4
1 B 150 15 60000 12079.5
0 A 135 20 50000 10073.5
3 D 120 30 40000 8069.0
正如您在函数 "SCORE"
中看到的那样,我们只是将值乘以权重并将它们相加以获得我们列出项目所基于的新值。
这里重要的考虑因素是您是否对我们在 Score 中使用的公式感到满意。您可以随心所欲地更改它,无论您出于何种目的构建模型。