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


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

pd.merge(df1, df2, left_on='left_column_name', right_on='right_column_name')

В следующем примере показано, как использовать этот синтаксис на практике.

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

Предположим, у нас есть следующие два Pandas DataFrames:

import pandas as pd

#create first DataFrame
df1 = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F'],
 'points': [4, 4, 6, 8, 9, 5]})

#view DataFrame
print(df1)

 team points
0 A 4
1 B 4
2 C 6
3 D 8
4 E 9
5 F 5

#create second DataFrame
df2 = pd.DataFrame({'team_name': ['A', 'B', 'C', 'D', 'E', 'F'],
 'rebounds': [12, 7, 8, 8, 5, 11]})

#view DataFrame
print(df2)

 team_name rebounds
0 A 12
1 B 7
2 C 8
3 D 8
4 E 5
5 F 11

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

#merge DataFrames
df3 = pd.merge(df1, df2, left_on='team', right_on='team_name')

#view result
print(df3)

 team points team_name rebounds
0 A 4 A 12
1 B 4 B 7
2 C 6 C 8
3 D 8 D 8
4 E 9 E 5
5 F 5 F 11

Обратите внимание, что мы можем успешно выполнить внутреннее соединение, даже несмотря на то, что имена двух столбцов, которые мы использовали для соединения, были разными в каждом DataFrame.

Обратите внимание, что мы также можем использовать следующий код, чтобы удалить столбец team_name из окончательного объединенного DataFrame, поскольку значения в этом столбце совпадают со значениями в столбце team :

#drop team_name column
df3. drop('team_name', axis= 1 , inplace= True )

#view updated DataFrame
print(df3)

 team points rebounds
0 A 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

Обратите внимание, что столбец team_name был удален из DataFrame.

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

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

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

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

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