加入两个数据框以获得笛卡尔积
Join two dataframes to get cartesian product
如何连接两个数据帧并获得两个数据帧中所有行的笛卡尔积。
df1:
values
0 4
1 5
2 6
df2:
values
0 7
1 8
2 9
预期输出:
values_x values_y
0 4 7
1 4 8
2 4 9
3 5 7
4 5 8
5 5 9
6 6 7
7 6 8
8 6 9
试试这个:
pd.merge(df1, df2, how = 'outer', left_on = 'value1', right_on = 'value2')
您可以使用虚拟列合并:
df1.assign(dummy=1).merge(df2.assign(dummy=1), on='dummy', how='outer').drop('dummy', axis=1)
输出:
values_x values_y
0 4 7
1 4 8
2 4 9
3 5 7
4 5 8
5 5 9
6 6 7
7 6 8
8 6 9
如何连接两个数据帧并获得两个数据帧中所有行的笛卡尔积。
df1:
values
0 4
1 5
2 6
df2:
values
0 7
1 8
2 9
预期输出:
values_x values_y
0 4 7
1 4 8
2 4 9
3 5 7
4 5 8
5 5 9
6 6 7
7 6 8
8 6 9
试试这个:
pd.merge(df1, df2, how = 'outer', left_on = 'value1', right_on = 'value2')
您可以使用虚拟列合并:
df1.assign(dummy=1).merge(df2.assign(dummy=1), on='dummy', how='outer').drop('dummy', axis=1)
输出:
values_x values_y
0 4 7
1 4 8
2 4 9
3 5 7
4 5 8
5 5 9
6 6 7
7 6 8
8 6 9