Ключи с разными именами в Pandas
В двух таблицах ключ может означать
одно и то же, но называться по-разному.
Функция merge умеет сопоставить
левый столбец с правым, если передать
оба имени отдельно.
Соберём учеников с полем num
и оценки с полем code, укажем
оба ключа в вызове и выведем таблицу:
import pandas as pd
students = pd.DataFrame({
'num': [1, 2],
'name': ['Ann', 'Bob'],
})
marks = pd.DataFrame({
'code': [1, 2],
'mark': [80, 90],
})
journal = pd.merge(
students,
marks,
left_on='num',
right_on='code',
)
print(journal) # выведет num name code mark
# 0 1 Ann 1 80
# 1 2 Bob 2 90
Строки соединились по совпадающим
числам 1 и 2. В ответе
видны оба столбца ключа - num
и code, потому что имена
изначально были разными.
Слева автомобили с полем car_no
и моделью, справа владельцы с полем
auto_id и именем. Свяжите
таблицы по этим полям и выведите
результат с двумя строками.
Таблица заказов использует столбец
order_key, таблица доставки -
ship_key; совпадают значения
10 и 20. Получите
общую таблицу с адресом для каждого
заказа и выведите её.
В журнале посещений ключ называется
visit_id, в справочнике
клиник - clinic_ref. Объедините
данные так, чтобы к каждому визиту
подтянулось название клиники,
и выведите таблицу.