Produto cartesiano de desempenho (CROSS JOIN) com pandas

O conteúdo desta postagem foi originalmente criado para fazer parte dePandas Mesclando 101, mas devido à natureza e tamanho do conteúdo necessário para fazer justiça total a este tópico, ele foi movido para seu próprio QnA.

ado dois DataFrames simple

left = pd.DataFrame({'col1' : ['A', 'B', 'C'], 'col2' : [1, 2, 3]})
right = pd.DataFrame({'col1' : ['X', 'Y', 'Z'], 'col2' : [20, 30, 50]})

left

  col1  col2
0    A     1
1    B     2
2    C     3

right

  col1  col2
0    X    20
1    Y    30
2    Z    50

O produto cruzado desses quadros pode ser calculado e será algo como:

A       1      X      20
A       1      Y      30
A       1      Z      50
B       2      X      20
B       2      Y      30
B       2      Z      50
C       3      X      20
C       3      Y      30
C       3      Z      50

Qual é o método de maior desempenho para calcular esse resultado?

questionAnswers(3)

yourAnswerToTheQuestion