pandas merge cross join code example

Example 1: pandas cartesian product

a = [1, 2, 3]
b = ["a", "b", "c"]

index = pd.MultiIndex.from_product([a, b], names = ["a", "b"])

pd.DataFrame(index = index).reset_index()

Example 2: Returns the cartesian product with another DataFrame

# Returns the cartesian product with another DataFrame

df.select("age", "name").collect()
# [Row(age=2, name='Alice'), Row(age=5, name='Bob')]
df2.select("name", "height").collect()
# [Row(name='Tom', height=80), Row(name='Bob', height=85)]
df.crossJoin(df2.select("height")).select(
  "age", "name", "height").collect()
# [Row(age=2, name='Alice', height=80), Row(age=2, name='Alice', height=85), Row(age=55, name='Bob', height=80), Row(age=5, name='Bob', height=85)]