Pandas Dataframe中合并两列文本的方法

Pandas Dataframe中合并两列文本的方法

在本文中,我们将介绍如何使用Pandas Dataframe中的方法将两个文本列合并为一个新的列。

我们假设有一个包含以下内容的数据框:

Name LastName
John Smith
Jane Roberts
Mike Lee

我们的目标是将Name和LastName列合并为一个新列FullName,格式为“LastName,Name”。

阅读更多:Pandas 教程

方法一

import pandas as pd

# 创建数据框
data = {
    'Name': ['John', 'Jane', 'Mike'],
    'LastName': ['Smith', 'Roberts', 'Lee']
}
df = pd.DataFrame(data)

# 合并列
df['FullName'] = df['LastName'] + ', ' + df['Name']

print(df)

这将输出以下结果:

Name LastName FullName
John Smith Smith, John
Jane Roberts Roberts, Jane
Mike Lee Lee, Mike

在这种情况下,我们可以直接将两列字符串相加,使用’,’将它们分开。

方法二

import pandas as pd

# 创建数据框
data = {
    'Name': ['John', 'Jane', 'Mike'],
    'LastName': ['Smith', 'Roberts', 'Lee']
}
df = pd.DataFrame(data)

# 定义函数
def combine_names(row):
    return row['LastName'] + ', ' + row['Name']

# 合并列
df['FullName'] = df.apply(combine_names, axis=1)

print(df)

在这种情况下,我们需要定义一个函数来合并两个列中的字符串。使用.apply()方法和axis=1参数将函数应用于每一行。

方法三

import pandas as pd

# 创建数据框
data = {
    'Name': ['John', 'Jane', 'Mike'],
    'LastName': ['Smith', 'Roberts', 'Lee']
}
df = pd.DataFrame(data)

# 合并列
df['FullName'] = df[['LastName', 'Name']].agg(', '.join, axis=1)

print(df)

这将输出与前两种方法相同的结果。 但是,它展示了解包列表(list unpacking)和.agg()方法的使用。 我们使用列表['LastName', 'Name']来选择要将其合并的列。 .agg()方法将这两列作为输入,使用字符串', '在它们之间添加逗号和空格。

总结

在本文中,我们介绍了三种将两个文本列合并为一个新列的方法。我们可以直接将两列相加或使用自定义函数。例如,.agg()方法和解包列表也可以用于将多列合并为一个新列。无论哪种方法,Pandas使合并列变得非常简单。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程