Skip to main content
 首页 » 编程设计

python之如何将数据框中一列的所有元素与另一个数据框中为该列指定的值相乘

2025年05月04日24lovecherry

我的问题与 Multiply two pandas DataFrames based on column 非常相似和 Multiply 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