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))