2个熊猫DF的矩阵乘法

时间:2018-10-30 18:34:15

标签: python python-3.x pandas matrix-multiplication

我有2个熊猫数据框,分别是(156915,22)和(22,2)形状。 DF1(156915,22)具有与DF2列1行匹配的列名。我想做矩阵乘法,其中DF1.columns = DF2 ['col1']。以下是df的外观的快速视图。我想返回一个与DF1形状相同的熊猫数据框。预先谢谢你!

DF1:

A | B  | C
1 | 15 | 8
5 | 3  | 2


DF2:

col1 | col2
A    | 5
B    | 1
C    | 0

2 个答案:

答案 0 :(得分:1)

如果DF1中的列与col1DF2的顺序相同,则可以使用np.dot

np.dot(DF1, DF2['col2'])

答案 1 :(得分:1)

一种方法:

df3 = df2.set_index('col1')
df1[df3.index].apply(lambda x: x*df3['col2'].T,axis=1)`