首页 > 解决方案 > 相同形状的矩阵相乘

问题描述

我有两个数据框,它们具有完全相同的索引标题和完全相同的列标题,但这些表中的值不同。行数和列数也完全相同。我们称它们为 df1 和 df2。

df1 = {'A':['a1','a2','a3','a4'],'B':['b1','b2','b3','b4'],'C':['c1','c2','c3','c4']}

df2 = {'A':['d1','d2','d3','d4'],'B':['e1','e2','e3','e4'],'C':['f1','f2','f3','f4']}

我想对这些矩阵执行几个操作,即

乘法- 创建以下矩阵:

df2 = {'A':['a1*d1','a2*d2','a3*d3','a4*d4'],'B':['b1*e1','b2*e2','b3*e3','b4*e4'],'C':['c1*f1','c2*f2','c3*f3','c4*f4']}

以及AdditionSubstractionDivision使用完全相同的逻辑。

请注意,问题更多是关于可以复制的通用代码,因为我使用的矩阵有数百行和列。

标签: pythonpython-3.xpython-2.7

解决方案


pandas使用该库实现这一点非常简单。OPs 的问题不清楚列的数据类型,但如果它们是数字,那么下面的代码将运行。

尝试:

import pandas as pd
pd.DataFrame(df1) * pd.DataFrame(df2)

推荐阅读