📅  最后修改于: 2023-12-03 15:18:14.642000             🧑  作者: Mango
在处理数据时,我们时常需要将一个数据框的某些列添加到另一个数据框中。这种操作在 Pandas 中非常容易实现,只需使用一些内置的数据框操作即可。本文将介绍如何将一个数据框的某些列添加到另一个数据框的情况。
我们先创建两个数据框,一个名为 df1,另一个名为 df2。其中,df1 包含两列数据:名字和年龄。df2 包含三列数据:名字、体重和性别。我们将尝试将 df1 的“年龄”列添加到 df2 中。
import pandas as pd
data1 = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 35, 45, 55]
}
df1 = pd.DataFrame(data1)
data2 = {
'Name': ['Alice', 'Bob', 'David', 'Ella'],
'Weight': [60, 70, 80, 90],
'Gender': ['F', 'M', 'M', 'F']
}
df2 = pd.DataFrame(data2)
为了将 df1 的“年龄”列添加到 df2 中,我们需要使用 Pandas 的 merge 函数。merge 函数将两个数据框连接起来(可以是列连接或行连接),并将它们中共有的列作为连接键。
我们可以通过指定连接键来达到我们的目的。这里,我们将指定“Name”列为连接键,因为该列在两个数据框中都存在。
df_merged = pd.merge(df2, df1[['Name', 'Age']], on='Name', how='left')
参数说明:
merge 函数将生成一个新的数据框 df_merged,其中包含三列:姓名、体重和性别。由于指定了左连接,df_merged 中仍然包含 df2 的所有行。df_merged 还包含了一个新列“年龄”,该列是从 df1 中获取的。
让我们查看一下生成的新数据框 df_merged,看看结果是否符合我们的预期。
print(df_merged)
输出如下:
Name Weight Gender Age
0 Alice 60 F 25.0
1 Bob 70 M 35.0
2 David 80 M 55.0
3 Ella 90 F NaN
可以看到,df_merged 包含了 df2 的所有行,同时增加了一个名为“Age”的新列。在 df_merged 中,“Alice”、“Bob”和“David”行的“Age”列包含了 df1 中的相应值。由于“Ella”在 df1 中不存在,因此该行的“Age”列为空。
在本文中,我们介绍了如何将一个数据框的某些列添加到另一个数据框中。我们使用了 Pandas 的 merge 函数来连接两个数据框,并指定连接键和连接类型。最终生成的新数据框包含了两个数据框中共有的列以及新的列。merge 函数是一种非常强大的数据框操作,可以在数据处理时发挥重要的作用。