Таблица 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"]))
Источник: https://stackoverflow.com/questions/757 ... n-on-b-etc