Найдите взвешивающий фрейм данных и применитесь к столбцу. - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть два кадра данных:

df1:

    Variable Name      Weight
     Variable1           2
     Variable2           .5 

df2:

    Variable1      Variable2
        3              4 
        2              5 

Как мне умножить вес на числа в каждом столбце, чтобы получить результат:

DF3:

    Variable1      Variable2
        6              2 
        4              2.5 

1 Ответ

0 голосов
/ 09 ноября 2018

Вы можете умножить фрейм данных на ряд или индекс отображения:

s = df1.set_index('Variable Name')['Weight']

df3 = df2 * s   # or df2.columns.map(s.get)

print(df3)

   Variable1  Variable2
0        6.0        2.0
1        4.0        2.5
...