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 中执行其他常见任务:

如何更改 Pandas 中的列顺序
如何重命名 Pandas 中的列
如何在 Pandas 中按名称对列进行排序

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注