def mergeLeftInOrder(x, y, on=None):
    x = x.copy()
x['Order'] = np.arange(len(x))
z = x.merge(y, how='left', on=on).set_index('Order').ix[(np.arange(len(x))), :]
return z
Как слияние панд может сохранить порядок?