我的问题与Multiply two pandas DataFrames based on columnMultiply two data frames with similar index in python pandas十分相似,但有些不同。我尝试了这两个建议,但对我没有用。

我所有的输入都是从csv文件读取的。

输入1

   Attr1   Attr2
0     10      20
1     30      40


假设输入2指定Attr1和Attr2的权重

输入2

   Attr1   Attr2
0     5        6


我的输出将输入2的权重乘以输入1中相应属性的每一行,因此我的输出需要

   Attr1   Attr2
0     50     120
1    150     240

最佳答案

您可以先选择d2中的第一行-输出为Series,然后乘以mul

print (d2.iloc[0])
Attr1    5
Attr2    6
Name: 0, dtype: int64

d = d1.mul(d2.iloc[0])
print (d)
   Attr1  Attr2
0     50    120
1    150    240

08-28 21:44