答案 0 :(得分:1)
您可以直接将数据框列元素明智地相乘:
for i in df1.columns:
df1[i] *= df2['Weights']
它将保留df1的索引和列名称,并根据需要分配适当的值。
此外,您可以用相同的方式创建新的数据帧(df3),以保留原始df1以便以后再使用。
for i in df1.columns:
df3[i] = df1[i]*df2['Weights']
答案 1 :(得分:0)
您应该使用mul
并将轴设置为“行”:
df1 = pd.DataFrame({"0": [1,2,3], "1": [2,4,6], "2": [3,6,9]})
df2 = pd.DataFrame({"weights": [.1,.2,.3]})
df1.mul(df2.weights, axis="rows")