我有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
答案 0 :(得分:1)
如果DF1
中的列与col1
中DF2
的顺序相同,则可以使用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)`