Produto cartesiano de duas séries, comprimentos e índices diferentes

Dadas duas séries:

import pandas as pd
ser1 = pd.Series(data = [1,2,3], index=[1,2,3])
ser2 = pd.Series(data = [1,2,3,4,5], index = ['a','b','c','d','e'])

Como posso multiplicar cruzadamente os dois para obter a saída desejada?

pd.DataFrame(
data = [[1,2,3],[2,4,6],[3,6,9],[4,8,12],[5,10,15]],
index = ser2.index,
columns = ser1.index,)

Até agora, minha abordagem foi criar um quadro de dados temporário com índices e colunas correspondentes às duas séries e, em seguida, iterar sobre uma das duas séries usando iteritems (). Eu sinto que deveria haver uma maneira mais limpa de conseguir isso.

questionAnswers(2)

yourAnswerToTheQuestion