如果我有两个已经在兼容键上排序的数据帧(或系列),我希望能够便宜地将它们合并在一起并保持排序。除了通过concat()和显式sort()
之外,我看不到一种方法a = pd.DataFrame([0,1,2,3], index=[1,2,3,5], columns=['x'])
b = pd.DataFrame([4,5,6,7], index=[0,1,4,6], columns=['x'])
print pd.concat([a,b])
print pd.concat([a,b]).sort()
x
1 0
2 1
3 2
5 3
0 4
1 5
4 6
6 7
x
0 4
1 0
1 5
2 1
3 2
4 6
5 3
6 7
看起来有一些关于numpy数组的相关讨论,暗示了一种“交错”方法,但我没有找到一个好的答案。
答案 0 :(得分:0)
如果我们将问题限制为只有一列的a
和b
,那么我会通过这条路径:
s = a.merge(b, how='outer', left_index=True, right_index=True)
s.stack().reset_index(level=1, drop=True)