I have two pandas dataframes:
from pandas import DataFrame df1 = DataFrame({\'col1\':[1,2],\'col2\':[3,4]}) df2 = DataFrame({\'col3\':[5,6]})
You can use numpy as it could be faster. Suppose you have two series as follows,
s1 = pd.Series(np.random.randn(100,)) s2 = pd.Series(np.random.randn(100,))
You just need,
pd.DataFrame( s1[:, None] @ s2[None, :], index = s1.index, columns = s2.index )