Pyspark Присоединяйтесь при условии A, если нет, то Присоединяйтесь при условии B и т. д.Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Pyspark Присоединяйтесь при условии A, если нет, то Присоединяйтесь при условии B и т. д.

Сообщение Гость »


Таблица 1 содержит 10 строк, которые необходимо заполнить недостающими данными.
Таблица 2 содержит 100 строк потенциальных совпадений.
В обеих таблицах есть столбцы x,y,z.
Я хочу соедините одну строку из таблицы 2 с каждой строкой в ​​таблице 1.
Логика:
Сначала проверьте, совпадают ли все x,y,z. это лучший случай. если да, присоединитесь к этой строке.
Если x,y,z не совпадают, попробуйте просто x,y.
Наконец, просто x.
Может быть в таблице 2 может быть много совпадений, где может быть 1 совпадение xyz и 1 совпадение xy. В данном случае он должен соответствовать только xyz.
Я думал примерно так:

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

final = when(table1.join((table2, table1["x"] == table2["x"]) & (table2, table1["y"] == table2["y"]), "left").otherwise((table2, table1["x"] == table2["x"]))
I keep getting multiple rows per line, which will break the system. I need to tell it that if xyz match is found, stop right there and don't check for xy match.


Источник: https://stackoverflow.com/questions/757 ... n-on-b-etc
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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