Pandas 合并部分列
在本文中,我们将介绍如何在Pandas中仅合并特定列。
Pandas是一个用于数据操作和分析的Python库。它允许我们使用各种方法处理和操作数据集。其中一个方法是使用merge()函数将两个或多个表合并成一个。但是,有时候我们只需要合并表中的一些特定列。那么应该如何实现呢?
阅读更多:Pandas 教程
准备数据
我们首先需要准备两个表,准备好需要合并的数据。在这里,我们将使用两个包含不同列的表。第一个表包含名称、城市和工作类型信息,第二个表包含名称、年龄和工作经验信息。
import pandas as pd
# 创建第一个表
data1 = {'Name': ['Amy', 'Bob', 'Chris', 'David'],
'City': ['New York', 'London', 'Paris', 'Dubai'],
'Type': ['Full-time', 'Part-time', 'Intern', 'Contract']}
df1 = pd.DataFrame(data1)
# 创建第二个表
data2 = {'Name': ['Amy', 'Bob', 'Chris', 'David'],
'Age': [25, 30, 22, 35],
'Experience': [1, 3, 0, 5]}
df2 = pd.DataFrame(data2)
现在我们有了两个表,其中df1包含名称、城市和工作类型信息,df2包含名称、年龄和工作经验信息。
合并特定列
为了只合并特定列,我们可以使用merge()函数的subset参数。subset参数允许我们指定要合并的列名。在下面的示例中,我们将仅合并名称和工作类型这两列。
df = pd.merge(df1[['Name', 'Type']], df2[['Name', 'Experience']], on='Name')
在这个例子中,我们传递了两个子DataFrame作为merge()函数的参数,使用了[[‘Name’, ‘Type’]]和[[‘Name’, ‘Experience’]]来指定我们要合并的列。我们还指定了on参数,这个参数是共同列名。在我们的例子中,这个共同列是“Name”列。
运行后我们可以发现现在的df表包含了姓名、工作类型和工作经验这三列。但是,它不包含城市和年龄这两列。这时,我们就成功地合并了需要合并的列。
总结
在Pandas Python中,我们可以使用merge()函数将两个或多个表合并成一个。对于只需要合并特定列的情况,我们可以使用subset参数来指定合并时需要使用的列。这种方法可以减少合并后数据量,提高代码效率。