首页 > 解决方案 > 连接两个数据框并扩展其中一个的内容

问题描述

df1 = pd.DataFrame([1,2,3],columns=['x'])
df2 = pd.DataFrame([[100,200,300]],columns=['y','w','z'])

如何通过扩展df2以匹配的行来加入两个数据框df1

这就是我想要实现的目标

x   y   w   z  
1  100 200 300
2  100 200 300
3  100 200 300

标签: pythonpandas

解决方案


您可以使用连接,因为@Vaishali 提到您的数据帧索引是默认范围索引。第二个数据框的索引 df2 与 df1 的第一个索引匹配。但是,创建一个临时键并进行合并以创建一个笛卡尔积会更健壮一些。

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

输出:

   x    y    w    z
0  1  100  200  300
1  2  100  200  300
2  3  100  200  300

推荐阅读