小编Ali*_* LT的帖子

将特定权重乘以列并在新列中相加

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

Attribute_1   |   Attribute_2   |   Attribute_3   |    Score    |
_________________________________________________________________
      10              10                15              180
       5               5                10               95
Run Code Online (Sandbox Code Playgroud)

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

例如

cols = [df['Attribute_1'], df['Attribute_2'], df['Attribute_3']]
weights = [10, 5, 2]
df['Score'] = cols * weights
Run Code Online (Sandbox Code Playgroud)

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

df['Score'] = df['Attribute_1'] * 10 + df['Attribute_2'] * 5 + df['Attribute_3'] * 2
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

python pandas

5
推荐指数
1
解决办法
2339
查看次数

标签 统计

pandas ×1

python ×1