Матричное умножение 2 панд DF's - PullRequest
0 голосов
/ 30 октября 2018

У меня есть 2 кадра данных панд, которые имеют (156915, 22) и (22,2) форму. DF1 (156915, 22) имеет имена столбцов, соответствующие строкам столбца 1 DF2. Я хочу сделать матричное умножение, где DF1.columns = DF2 ['col1']. Вот быстрый взгляд на то, как могут выглядеть df's. Я хотел бы вернуть pandas dataframe той же формы, что и DF1. Заранее спасибо!

DF1:

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


DF2:

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

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Один метод:

df3 = df2.set_index('col1')
df1[df3.index].apply(lambda x: x*df3['col2'].T,axis=1)`
0 голосов
/ 30 октября 2018

Если ваши столбцы в DF1 находятся в том же порядке, что и ваши col1 в DF2, то использование np.dot должно работать:

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