[英]Pandas multiply two data frames to get product
我有两个具有不同变量名称的数据框
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 函数可以让我做到这一点?
您可以使用mul
将df1
乘以df2
的值:
df3 = df1.mul(df2.values)
df3.columns = ['X','Y']
>>> df3
X Y
0 6 25
1 6 25
2 9 36
您还可以将 numpy 用作:
df3 = np.multiply(df1, df2)
注意:大多数 numpy 操作将采用 Pandas Series 或 DataFrame。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.