Pandas:如何将一列从一个 dataframe 添加到另一个 dataframe
您可以使用两种方法之一将 pandas DataFrame 中的列添加到另一个 DataFrame:
方法 1:将一个 DataFrame 中的一列添加到另一个 DataFrame 中的最后一列位置
#add some_col from df2 to last column position in df1 df1[' some_col ']= df2[' some_col ']
方法2:将一个DataFrame的一列添加到另一个DataFrame的特定位置
#insert some_col from df2 into third column position in df1 df1. insert ( 2 , ' some_col ', df2[' some_col '])
以下示例展示了如何在实践中使用以下 pandas DataFrame 的每种方法:
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的反弹列添加到第一个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 的弹跳列添加到第一个 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 中执行其他常见任务: