猿问

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

我想创建第三个数据帧,其中第 n 列是前两个数据帧中第 n 列的乘积。在上面的例子中,df3 将有两列 X 和 Y,其中df.X = df.A * df.C和df.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

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


米脂
浏览 362回答 2
2回答

守着星空守着你

您可以使用mul, 乘以df1以下值df2:df3 = df1.mul(df2.values)df3.columns = ['X','Y']>>> df3   X   Y0  6  251  6  252  9  36

开心每一天1111

您还可以将 numpy 用作:df3 = np.multiply(df1, df2)注意:大多数 numpy 操作将采用 Pandas Series 或 DataFrame。
随时随地看视频慕课网APP

相关分类

Python
我要回答