Python 如何将一个数据帧附加到另一个数据帧的每一行?

Python 如何将一个数据帧附加到另一个数据帧的每一行?,python,pandas,Python,Pandas,我有两个类似的数据帧: | A | B | | C | D | | A1 | B2 | | C2 | D2 | | A1 | B3 | | C1 | D2 | | A2 | B2 | | C1 | D3 | 我需要将B中的每一行附加到A中的每一行,如下所示: | A | B | C | D | | A1 | B2 | C2 | D2 | | A1 | B2 | C1 | D2 | | A1 | B2 | C1 | D3 | | A1 | B3 |

我有两个类似的数据帧:

| A  | B  |     | C  | D  |
| A1 | B2 |     | C2 | D2 |
| A1 | B3 |     | C1 | D2 |
| A2 | B2 |     | C1 | D3 |
我需要将B中的每一行附加到A中的每一行,如下所示:

| A  | B  | C  | D  |
| A1 | B2 | C2 | D2 |
| A1 | B2 | C1 | D2 |
| A1 | B2 | C1 | D3 |
| A1 | B3 | C2 | D2 |
| A1 | B3 | C1 | D2 |
| A1 | B3 | C1 | D3 |
| A2 | B2 | C2 | D2 |
| A2 | B2 | C1 | D2 |
| A2 | B2 | C1 | D3 |

尝试使用psuedo键和
合并

df1 = pd.DataFrame({'A':['A1','A1','A2'], 'B':['B2','B3','B2']})
df2 = pd.DataFrame({'C':['C2','C1','C1'], 'D':['D2','D2','D3']})

df1.assign(key=1).merge(df2.assign(key=1)).drop('key', axis=1)
输出:

    A   B   C   D
0  A1  B2  C2  D2
1  A1  B2  C1  D2
2  A1  B2  C1  D3
3  A1  B3  C2  D2
4  A1  B3  C1  D2
5  A1  B3  C1  D3
6  A2  B2  C2  D2
7  A2  B2  C1  D2
8  A2  B2  C1  D3

请阅读并修改您的问题,以显示您迄今为止所做的尝试,以及您遇到的问题或错误。此问题已按上述方式回答,它使用以下代码:def cartesian_product_basic(df1,df2):return(df1.assign(key=1)。merge(df2.assign(key=1),on='key')).drop('键',1))