Sometimes, we want to create a cartesian product with Python Pandas.
In this article, we’ll look at how to create a cartesian product with Python Pandas.
How to create a cartesian product with Python Pandas?
To create a cartesian product with Python Pandas, we can call the merge
method.
For instance, we write:
from pandas import DataFrame
df1 = DataFrame({'col1': [1, 2], 'col2': [3, 4]})
df2 = DataFrame({'col3': [5, 6]})
df = df1.merge(df2, how='cross')
print(df)
to call df1.merge
to merge data frtame df1
with df2
.
We set how
to 'cross'
to create a cartesian product and assign the returned data frame to df
.
Therefore, df
is:
col1 col2 col3
0 1 3 5
1 1 3 6
2 2 4 5
3 2 4 6
Conclusion
To create a cartesian product with Python Pandas, we can call the merge
method.