我有两个
我希望将
DataFrame
,它们具有不同的列,但我想通过将它们在行上对齐来合并它们。也就是说,假设我有这两个数据框:df1 = pd.DataFrame(np.arange(12).reshape(6, 2), index=np.arange(6)*0.1, columns=['a', 'b'])
df1
a b
0.0 0 1
0.1 2 3
0.2 4 5
0.3 6 7
0.4 8 9
0.5 10 11
df2 = pd.DataFrame(np.arange(8).reshape(4, 2), index=[0.07, 0.21, 0.43, 0.54], columns=['c', 'd'])
df2
c d
0.07 0 1
0.21 2 3
0.43 4 5
0.54 6 7
我希望将
df2
与df1
合并,使df2
的行与从df1
中最近邻的索引对齐。最终结果如下: a b c d
0.0 0 1 NaN NaN
0.1 2 3 0 1
0.2 4 5 2 3
0.3 6 7 NaN NaN
0.4 8 9 4 5
0.5 10 11 6 7
我希望您能提出任何关于如何高效解决这个问题的想法。
df1
是否保证每个0.1增量都有一行?如果是这样,您可以设置df2.index = df2.index.round(1)
然后直接进行连接。 - Matthias Fripp