Pandas: как сравнить столбцы в двух разных фреймах данных


Вы можете использовать следующие методы для сравнения столбцов в двух разных pandas DataFrames:

Метод 1: подсчет совпадающих значений между столбцами

df1['my_column']. isin (df2['my_column']). value_counts ()

Способ 2: отображение совпадающих значений между столбцами

pd.merge(df1, df2, on=['my_column'], how='inner')

В следующих примерах показано, как использовать каждый метод со следующими пандами DataFrames:

import numpy as np
import pandas as pd

#create first DataFrame
df1 = pd.DataFrame({'team': ['Mavs', 'Rockets', 'Spurs', 'Heat', 'Nets'],
 'points': [22, 30, 15, 17, 14]})

#view DataFrame
print(df1)

 team points
0 Mavs 22
1 Rockets 30
2 Spurs 15
3 Heat 17
4 Nets 14

#create second DataFrame
df2 = pd.DataFrame({'team': ['Mavs', 'Thunder', 'Spurs', 'Nets', 'Cavs'],
 'points': [25, 40, 31, 32, 22]})

#view DataFrame
print(df2)

 team points
0 Mavs 25
1 Thunder 40
2 Spurs 31
3 Nets 32
4 Cavs 22

Пример 1. Подсчет совпадающих значений между столбцами

В следующем коде показано, как подсчитать количество совпадающих значений между столбцами команды в каждом кадре данных:

#count matching values in team columns
df1['team']. isin (df2['team']). value_counts ()

True 3
False 2
Name: team, dtype: int64

Мы видим, что два DataFrames имеют 3 общих названия команд и 2 разных названия команд.

Пример 2. Отображение совпадающих значений между столбцами

В следующем коде показано, как отобразить фактические совпадающие значения между столбцами группы в каждом кадре данных:

#display matching values between team columns
pd.merge(df1, df2, on=['team'], how='inner')

 team points_x points_y
0 Mavs 22 25
1 Spurs 15 31
2 Nets 14 32

Из вывода мы видим, что два DataFrames имеют следующие общие значения в столбцах команды :

  • Мавс
  • шпоры
  • сети

Связанный: Как сделать внутреннее соединение в Pandas (с примером)

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как переименовать столбцы в Pandas
Как добавить столбец в Pandas DataFrame
Как изменить порядок столбцов в Pandas DataFrame

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.