gpt4 book ai didi

python - 将特定权重乘以列并在新列中加在一起

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:13 24 4
gpt4 key购买 nike

我有三列数据,我想将不同的标量值乘以每一列,然后将它们相加到一列中。假设我想将 Attibute_1 乘以 10,Attribute_2 乘以 5,Attribute_3 乘以 2

Attribute_1   |   Attribute_2   |   Attribute_3   |    Score    |
_________________________________________________________________
10 10 15 180
5 5 10 95

是否有类似于“sumproduct”类功能的优雅解决方案?

例如

cols = [df['Attribute_1'], df['Attribute_2'], df['Attribute_3']]
weights = [10, 5, 2]
df['Score'] = cols * weights

我不想要以下解决方案,因为如果我有很多列和很多权重,我正在寻找更优雅的东西。

df['Score'] = df['Attribute_1'] * 10 + df['Attribute_2'] * 5 + df['Attribute_3'] * 2

感谢您的帮助!

最佳答案

你可以使用mul方法:

attributes = ["Attribute_1", "Attribute_2", "Attribute_3"]
weights = [10, 5, 2]

df['Score'] = df[attributes].mul(weights).sum(1)
df

# Attribute_1 Attribute_2 Attribute_3 Score
#0 10 10 15 180
#1 5 5 10 95

关于python - 将特定权重乘以列并在新列中加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42675788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com