将具有不同权重的 DataFrame 列相乘

Mutiply DataFrame columns with different weights

我需要将数据框中的各个列乘以权重。 所以我有以下代码

df.C1 *= 0.2
df.C2 *= 0.01

是否有更好或更短的方法,可能是权重列表乘以列?

类似于df.cols.values *= list(weights)

类似于

df1.loc[:,cols]=df1[cols].values*[100,10]