Pandas: как добавить столбец из одного dataframe в другой
Вы можете использовать один из двух методов, чтобы добавить столбец из DataFrame pandas в другой DataFrame:
Способ 1. Добавьте столбец из одного DataFrame в последнюю позицию столбца в другом.
#add some_col from df2 to last column position in df1 df1[' some_col ']= df2[' some_col ']
Способ 2. Добавьте столбец одного DataFrame в определенную позицию в другом.
#insert some_col from df2 into third column position in df1 df1. insert ( 2 , ' some_col ', df2[' some_col '])
В следующих примерах показано, как использовать каждый метод на практике со следующими кадрами данных pandas:
import pandas as pd #create first DataFrame df1 = pd. DataFrame ({'team': ['A', 'A', 'A', 'A', 'B', 'B'], 'position': ['G', 'G', 'F', 'C', 'G', 'C'], 'points': [4, 4, 6, 8, 9, 5]}) #view DataFrame print (df1) team position points 0 AG 4 1 GA 4 2 AF 6 3 AC 8 4 BG 9 5 BC 5 #create second DataFrame df2 = pd. DataFrame ({'team': ['A', 'A', 'A', 'A', 'B', 'B'], 'rebounds': [12, 7, 8, 8, 5, 11]}) #view DataFrame print (df2) team rebounds 0 to 12 1 to 7 2 to 8 3 to 8 4 B 5 5 B 11
Пример 1. Добавьте столбец из одного DataFrame в последнюю позицию столбца в другом.
Следующий код показывает, как добавить столбец возврата второго DataFrame к последней позиции столбца первого DataFrame:
#add rebounds column from df2 to df1 df1[' rebounds ']= df2[' rebounds '] #view updated DataFrame print (df1) team position points rebounds 0 AG 4 12 1 GA 4 7 2 AF 6 8 3 AC 8 8 4 BG 9 5 5 BC 5 11
Обратите внимание, что столбец отказов второго DataFrame был добавлен в последнюю позицию столбца первого DataFrame.
Пример 2. Добавьте столбец из одного DataFrame в определенную позицию столбца в другом.
Следующий код показывает, как добавить столбец отказов второго DataFrame в позицию третьего столбца первого DataFrame:
#insert rebounds column from df2 into third column position of df1
df1. insert ( 2 , ' rebounds ', df2[' rebounds '])
#view updated DataFrame
print (df1)
team position rebounds points
0 AG 12 4
1 GA 7 4
2 AF 8 6
3 AC 8 8
4 BG 5 9
5 BC 11 5
Обратите внимание, что столбец отказов второго DataFrame был добавлен в позицию третьего столбца первого DataFrame.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Как изменить порядок столбцов в Pandas
Как переименовать столбцы в Pandas
Как сортировать столбцы по имени в Pandas