Объединение по ключевым столбцам

Joins в pandas для пользователей электронных таблиц

John Miller

Principal Data Scientist

Алгоритм (продолжение)

$$

После просмотра и анализа данных:

  • Определите связь
  • Проверьте уникальность значений в ключевом столбце

квадраты

Joins в pandas для пользователей электронных таблиц

Уникальные ключевые столбцы

$$ $$ Уникальные значения для ключа из одного столбца

df.duplicated('GameKey').sum()

$$ -- -- Значение 0 означает отсутствие дубликатов -- --

df.duplicated(['GameKey', 'PlayId']).sum()

индекс по одному столбцу

составной индекс

Joins в pandas для пользователей электронных таблиц

Алгоритм (продолжение)

$$

После просмотра и анализа данных:

  • Определите связь
  • Проверьте уникальность значений в ключевом столбце
  • Напишите и выполните оператор merge

квадраты

Joins в pandas для пользователей электронных таблиц

Выполнение объединения

$$

Оператор не меняется!

df1.merge(df2, how='inner', on='')

  • Обратите внимание на параметры

$$

Полный синтаксис: DataFrame.merge(right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), indicator=False, validate=None)

Joins в pandas для пользователей электронных таблиц

Валидация объединений

DataFrame.merge(right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), indicator=False, validate=None)

$$

Значения параметра validate:

  • "one_to_one" или "1:1"
  • "one_to_many" или "1:m"
  • "many_to_one" или "m:1"
  • "many_to_many" или "m:m" (не выполняет проверку)
Joins в pandas для пользователей электронных таблиц

Давайте потренируемся!

Joins в pandas для пользователей электронных таблиц

Preparing Video For Download...