Нет серебряной пули, но способ сделать это - повернуть значения Y в категориях, используя pd.cut
. Используя этот метод, он поместит значения в разные ячейки. Вам необходимо настроить ячейки вручную, например, установить их на 20.
Загрузить данные:
df1 = pd.DataFrame({'X':[2531, 2219, 2901, 6901, 7891], 'Y':[2016, 2196, 3426, 4431, 1126], 'House':['A', 'B', 'J', 'A', 'A']})
df2 = pd.DataFrame({'X':[2534, 6911, 2901, 7894.5], 'Y':[2019, 4421, 3426, 1120], 'Cost':[1200, 3100, 800, 600]})
Создать новые категории:
df1['Y2'] = pd.cut(df1['Y'], 20, labels=False)
df2['Y2'] = pd.cut(df2['Y'], 20, labels=False)
df3 = pd.merge(df1, df2, on=['Y2'], how='left')