我正在尝试将两个不同的数据框追加/加入(?),这些数据框不会共享任何重叠数据。
DF1看起来像
Teams Points
Red 2
Green 1
Orange 3
Yellow 4
....
Brown 6
和DF2看起来像
Area Miles
2 3
1 2
....
7 12
我正在尝试使用
将这些附加在一起 bigdata = df1.append(df2,ignore_index = True).reset_index()
但我得到了这个
Teams Points
Red 2
Green 1
Orange 3
Yellow 4
Area Miles
2 3
1 2
我如何得到这样的东西?
Teams Points Area Miles
Red 2 2 3
Green 1 1 2
Orange 3
Yellow 4
编辑:关于Edchum的答案,我尝试过合并和加入,但每个都创建了一些奇怪的表格。而不是我正在寻找的(如上所列)它将返回这样的东西:
Teams Points Area Miles
Red 2 2 3
Green 1
Orange 3 1 2
Yellow 4
答案 0 :(得分:1)
使用concat
并传递参数axis=1
:
In [4]:
pd.concat([df1,df2], axis=1)
Out[4]:
Teams Points Area Miles
0 Red 2 2 3
1 Green 1 1 2
2 Orange 3 NaN NaN
3 Yellow 4 NaN NaN
join
也有效:
In [8]:
df1.join(df2)
Out[8]:
Teams Points Area Miles
0 Red 2 2 3
1 Green 1 1 2
2 Orange 3 NaN NaN
3 Yellow 4 NaN NaN
与merge
一样:
In [11]:
df1.merge(df2,left_index=True, right_index=True, how='left')
Out[11]:
Teams Points Area Miles
0 Red 2 2 3
1 Green 1 1 2
2 Orange 3 NaN NaN
3 Yellow 4 NaN NaN
修改强>
在索引不对齐的情况下,例如你的第一个df具有索引[0,1,2,3]
而你的第二个df具有索引[0,2]
,这将意味着上述操作将自然地与第一个df' s索引导致索引行NaN
的{{1}}行。要解决此问题,您可以通过调用1
重新索引第二个df,或直接分配,如下所示:reset_index()
。