python - 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
是否有一个简单的熊猫功能可以让我这样做?
解决方案
您可以使用mul
, 乘以df1
的值df2
:
df3 = df1.mul(df2.values)
df3.columns = ['X','Y']
>>> df3
X Y
0 6 25
1 6 25
2 9 36
推荐阅读
- android - recyclerview 项目之间的自定义间距
- python - Python,你为什么总是撒谎?
- algorithm - 带有 Hoare 分区方案的 QuickSelect
- contacts - 在 iOS 13 中将 vCard 添加到联系人
- testng - 如何从 TestNG 结果或 ITestContext 中删除任何测试
- tensorflow - Scikit-Learn 交叉验证,两个输入,一个输出
- typescript - TypeScript 无法正确检查对象属性
- c - c如何处理+-系列?
- c# - RSACryptoServiceProvider 密钥大小 1024 未生成 128 字节密钥
- swift - 是否可以将喜欢(从用户 A 到用户 B)限制为每天或会话一次?