Sometimes, you don’t have a common column to merge on, but you still need to combine DataFrames. You can merge using index-based joins like this:
df1.set_index("ID", inplace=True)
df2.set_index("ID", inplace=True)
merged_index = df1.merge(df2, left_index=True, right_index=True, how="outer")
Use left_index=True, right_index=True in pandas merge() to join DataFrames based on index.
Need a cross join instead? Pandas doesn’t have a direct cross join function, but you can simulate it by adding a dummy key column:
df1["key"] = 1
df2["key"] = 1
cross_join = pd.merge(df1, df2, on="key").drop("key", axis=1)
Cross joins can be simulated by adding a dummy key column before using pandas merge().