Pandas 将两个数据帧相乘得到乘积

rol*_*and 1 python merge pandas

我有两个具有不同变量名称的数据框

df1 = pd.DataFrame({'A':[2,2,3],'B':[5,5,6]})
>>> df1
   A  B
0  2  5
1  2  5
2  3  6
df2 = pd.DataFrame({'C':[3,3,3],'D':[5,5,6]})
>>> df2
   C  D
0  3  5
1  3  5
2  3  6
Run Code Online (Sandbox Code Playgroud)

我想创建第三个数据帧,其中第 n 列是前两个数据帧中第 n 列的乘积。在上面的例子中,df3 将有两列 X 和 Y,其中df.X = df.A * df.Cdf.Y = df.B * df.D

df3 = pd.DataFrame({'X':[6,6,9],'Y':[25,25,36]})
>>> df3
   X   Y
0  6  25
1  6  25
2  9  36
Run Code Online (Sandbox Code Playgroud)

是否有一个简单的 Pandas 函数可以让我做到这一点?

sac*_*cuL 5

您可以使用mul, 乘以df1以下值df2

df3 = df1.mul(df2.values)
df3.columns = ['X','Y']

>>> df3
   X   Y
0  6  25
1  6  25
2  9  36
Run Code Online (Sandbox Code Playgroud)