连接两个数据框并扩展其中一个的内容

时间:2019-03-27 20:29:26

标签: python pandas

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

2 个答案:

答案 0 :(得分:3)

您可以使用join,因为@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

答案 1 :(得分:3)

很简单assign

df1.assign(**df2.iloc[0])
Out[413]: 
   x    y    w    z
0  1  100  200  300
1  2  100  200  300
2  3  100  200  300