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
答案 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