Для чего стоит, ваш декартово произведение может быть сделано следующим образом:
import pandas as pd
df1 = pd.DataFrame({'A': [1,2,3]})
df2 = pd.DataFrame({'B': [4,5,6]})
df3 = pd.merge(df1.assign(key=1), df2.assign(key=1), on='key').drop('key', axis=1)
df3
# A B
#0 1 4
#1 1 5
#2 1 6
#3 2 4
#4 2 5
#5 2 6
#6 3 4
#7 3 5
#8 3 6