Панды объединяются в борьбе за неравенствоPython

Программы на Python
Ответить
Anonymous
 Панды объединяются в борьбе за неравенство

Сообщение Anonymous »

Поэтому я искал эквивалент этого SQL-запроса в pandas

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

SELECT * FROM table1
LEFT JOIN table2
ON table1.columnX>=table2.columnY
*Обратите внимание, что я присоединяюсь по условию неравенства, >=, а не по сопоставлению столбцов.
Но кажется, что слияние panda может объединяться только по точным совпадениям (например, select * from table1 LEFT JOIN table2 ON table1.columnX=table2.columnY)
Похоже, что оно не поддерживает объединение по большему числу сложные условия, например, столбец, имеющий значение больше, чем другой столбец. Какой SQL поддерживает
Я нашел много ресурсов, в которых говорится, что он это не поддерживает, и что единственный способ сделать это — сначала выполнить картерово произведение, а затем отфильтровать полученный фрейм данных. Или предварительная фильтрация кадров данных перед присоединением. Однако декартово произведение стоит дорого
Но те источники, которые я нашел, датируются более чем 5-летней давностью. Сегодня все еще тот же случай, когда слияние panda может объединяться только путем точного сопоставления столбцов и не допускает неравенств (,=,между)?
Вот некоторые старые ресурсы, которые я нашел по этому поводу:
Объединения по неравенству в Pandas?
Объединить кадры данных pandas, где одно значение находится между двумя другими
Лучший способ присоединиться/объединиться по диапазону в пандах

Подробнее здесь: https://stackoverflow.com/questions/771 ... inequality
Ответить

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

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

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

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

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