为另一个数据帧中的每一行复制和连接 Pandas 数据帧

Mai*_*upo 4 python pandas

我想为不同数据帧中的每一行创建和堆叠一个数据帧。例如

我尝试通过迭代一个行并复制和堆叠另一个来做到这一点,但这是一个非常缓慢的过程。有没有原生的 Pandas 方法来做到这一点?

Sco*_*ton 7

输入:

a = pd.DataFrame({'first':[1,2,3],'second':['one','two','three']})
b = pd.DataFrame({'alice':['yes','no'],'bob':['no','yes']})
Run Code Online (Sandbox Code Playgroud)

创建一个虚拟键并合并创建一个笛卡尔积

a.assign(key=1).merge(b.assign(key=1), on='key').drop('key',axis=1)
Run Code Online (Sandbox Code Playgroud)

输出:

   first second alice  bob
0      1    one   yes   no
1      1    one    no  yes
2      2    two   yes   no
3      2    two    no  yes
4      3  three   yes   no
5      3  three    no  yes
Run Code Online (Sandbox Code Playgroud)