РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
115 of 687 menu

Метод combine

Метод combine применяется к DataFrame и выполняет попарное объединение столбцов с другим DataFrame. Первым параметром передаётся другой DataFrame, вторым - пользовательская функция, которая определяет правило объединения. Также метод принимает параметр fill_value для замены пропущенных значений.

Синтаксис

df.combine(other, func, fill_value=None, overwrite=True)

Пример

Давайте объединим две таблицы, выбирая максимальное значение для каждой ячейки:

import pandas as pd df1 = pd.DataFrame({ 'a': [1, 4, 3], 'b': [10, 20, 30] }) df2 = pd.DataFrame({ 'a': [2, 3, 5], 'b': [15, 25, 35] }) res = df1.combine(df2, lambda x, y: x if x > y else y) print(res)

Результат выполнения кода:

a b 0 2 15 1 4 25 2 5 35

Пример

Теперь объединим таблицы, суммируя значения ячеек:

import pandas as pd df1 = pd.DataFrame({ 'a': [1, 2, 3], 'b': [10, 20, 30] }) df2 = pd.DataFrame({ 'a': [4, 5, 6], 'b': [40, 50, 60] }) res = df1.combine(df2, lambda x, y: x + y) print(res)

Результат выполнения кода:

a b 0 5 50 1 7 70 2 9 90

Пример

Используем параметр fill_value для замены пропущенных значений перед объединением:

import pandas as pd import numpy as np df1 = pd.DataFrame({ 'a': [1, np.nan, 3], 'b': [10, 20, 30] }) df2 = pd.DataFrame({ 'a': [4, 5, 6], 'b': [np.nan, 50, 60] }) res = df1.combine(df2, lambda x, y: x if x > y else y, fill_value=0) print(res)

Результат выполнения кода:

a b 0 4 10.0 1 5 50.0 2 6 60.0

Пример

Метод объединяет столбцы по их именам. Если имена не совпадают, столбцы не объединяются:

import pandas as pd df1 = pd.DataFrame({ 'a': [1, 2, 3], 'b': [10, 20, 30] }) df2 = pd.DataFrame({ 'a': [4, 5, 6], 'c': [40, 50, 60] }) res = df1.combine(df2, lambda x, y: x + y) print(res)

Результат выполнения кода:

a b c 0 5 NaN NaN 1 7 NaN NaN 2 9 NaN NaN

Смотрите также

  • метод combine_first,
    который объединяет таблицы с приоритетом первого объекта
  • метод update,
    который обновляет значения в таблице
  • метод align,
    который выравнивает индексы двух таблиц
  • метод compare,
    который сравнивает две таблицы и показывает различия
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить