Pandas/Python 列乘以行

Pandas/Python multiply columns by row

抱歉,这是一个简单的问题。

我有两个数据框,每个数据框都有相同的列。我需要将第二个数据框中的每一行乘以第一行中的唯一行。

最终会有更多不同年龄的列,所以我不想只乘以一个标量。

我已经使用了 df.multiply() 并继续为所有值获取 NaN 大概是因为两个 df 的长度不匹配。

有没有办法将一个数据框中的每一行乘以另一个数据框中的单个行?

age   51200000.0  70000000.0
SFH
0        0.75        0.25

.

age             51200000.0    70000000.0
Lambda                                 
91.0       0.000000e+00  0.000000e+00
94.0       0.000000e+00  0.000000e+00
96.0       0.000000e+00  0.000000e+00
98.0       0.000000e+00  0.000000e+00
100.0      0.000000e+00  0.000000e+00
102.0      0.000000e+00  0.000000e+00
...        ...           ...
1600000.0  1.127428e+22  8.677663e+21

您可以使用 mul by first row of df1 selected by iloc:

print (df2.mul(df1.iloc[0]))

样本:

print (df1)
      51200000.0  70000000.0
age                        
0          0.75        0.25

print (df2)
      51200000.0  70000000.0
age                         
91.0         1.0         2.0
94.0         5.0        10.0
96.0         0.0         0.0

print (df2.mul(df1.iloc[0]))
      51200000.0  70000000.0
age                         
91.0        0.75         0.5
94.0        3.75         2.5
96.0        0.00         0.0