Pandas: как объединить два dataframe с разными именами столбцов
Вы можете использовать следующий базовый синтаксис для объединения двух DataFrames pandas с разными именами столбцов:
p.d. merge (df1, df2, left_on=' left_column_name ', right_on=' right_column_name ')
В следующем примере показано, как использовать этот синтаксис на практике.
Пример. Объединение двух фреймов данных Pandas с разными именами столбцов.
Предположим, у нас есть следующие два кадра данных panda:
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 to 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 to 12 1 B 7 2 C 8 3 D 8 4 E 5 5 F 11
Мы можем использовать следующий синтаксис для выполнения внутреннего соединения, используя столбец команды в первом DataFrame и столбец team_name во втором DataFrame:
#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 to 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 примера)
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи panda:
Как изменить порядок столбцов в Pandas
Как переименовать столбцы в Pandas
Как сортировать столбцы по имени в Pandas