Use how='cross'
as parameter of pd.merge
:
out_df = pd.merge(df2, df1, how='cross')
print(out_df)
# Output
Date Name Gender
0 2/22/2021 Sam M
1 2/22/2021 Nathan M
2 2/22/2021 Aaron M
3 2/22/2021 Emily F
4 2/23/2021 Sam M
5 2/23/2021 Nathan M
6 2/23/2021 Aaron M
7 2/23/2021 Emily F
8 2/24/2021 Sam M
9 2/24/2021 Nathan M
10 2/24/2021 Aaron M
11 2/24/2021 Emily F
12 2/25/2021 Sam M
13 2/25/2021 Nathan M
14 2/25/2021 Aaron M
15 2/25/2021 Emily F
Setup MRE
df1 = pd.DataFrame({'Name': ['Sam', 'Nathan', 'Aaron', 'Emily'],
'Gender': ['M', 'M', 'M', 'F']})
df2 = pd.DataFrame({'Date': ['2/22/2021', '2/23/2021', '2/24/2021', '2/25/2021']})