У меня есть два DataFrames:
>>> d1
A B
0 4 3
1 5 2
2 4 3
>>> d2
C D E
0 1 4 7
1 2 5 8
2 3 6 9
>>> what_I_want
AC AD AE BC BD BE
0 4 16 28 3 12 21
1 10 25 40 4 10 16
2 12 24 36 9 18 27
Два DataFrames имеют одинаковое количество строк (скажем, m), но разное количество столбцов (скажем, ncol_1, ncol_2). Вывод осуществляется через (ncol_1 * ncol_2) DataFrame. Каждый столбец является произведением одного столбца в d1 и одного столбца в d2.
Я сталкивался с np.kron
, но это не совсем то, что я хочу. Мои реальные данные содержат миллионы строк.
Мне интересно, есть ли какой-нибудь векторизованный способ сделать это? В настоящее время у меня есть реализация itertools.product
, но скорость мучительно медленная.