Используйте pandas merge_asof для достижения неточного левого соединенияPython

Программы на Python
Ответить
Anonymous
 Используйте pandas merge_asof для достижения неточного левого соединения

Сообщение Anonymous »

У меня есть две серии pandas:
right_series



Index
Value




1
0.1


2
0.2


3
0,3


6
0,6


7
0.7



left_series



Индекс
Значение




1
0.1


5
0.5


10
1.0



Я хотел бы объединить right_series с left_series по индексам, чтобы, если точное совпадение индекса не найдено, сопоставлялось ближайшее значение, и соединение вело себя как левое соединение. Используя pandas merge_asof следующим образом

Код: Выделить всё

result = pd.merge_asof(left=left_series,right=right_series,left_index=True,right_index=True,direction="nearest")
доходность



Левый индекс
Левое значение
Правильное значение




1
0.1
0.1


5
0,5
0,6


10
1,0
0.7



но мне бы хотелось, чтобы строки с правым индексом 2 и 3 также сопоставлялись (левый индекс 2 с правым индексом 1 и левый индекс 3 с правым индексом 1 или 5) и возвращались в результате, например,



Левый индекс
Левое значение
Правое значение




1
0,1
0,1


1
0.1
0.2


1
0.1
0.3


5
0,5
0,6


10
1.0
0.7



Как мне лучше всего добиться этого результата?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -left-join
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»