Pandas数据框如何合并列

作者:编程家 分类: pandas 时间:2025-11-02

如何使用Pandas合并列

在处理数据分析和数据处理任务时,Pandas是一个非常强大和常用的Python库。Pandas提供了灵活的数据结构,如Series和DataFrame,以及各种函数和方法,可以方便地进行数据操作和转换。在Pandas中,合并列是一项常见的操作,可以将多个列合并为一个新的列。本文将介绍如何使用Pandas合并列,并提供实际案例代码。

案例背景

假设我们有一个包含学生信息的数据框,其中包含学生的姓名、年龄和性别。现在我们希望将姓名和性别两列合并为一个新的列,新的列名为"姓名-性别"。

实现方法

Pandas提供了多种方法来合并列,包括使用加法运算符、使用字符串拼接方法和使用apply函数等。下面将分别介绍这些方法的使用。

方法一:使用加法运算符

加法运算符可以用于合并两个字符串列。我们可以通过将两个列相加来实现列的合并。

python

import pandas as pd

# 创建包含学生信息的数据框

data = {

'姓名': ['张三', '李四', '王五'],

'性别': ['男', '女', '男'],

'年龄': [18, 20, 19]

}

df = pd.DataFrame(data)

# 合并姓名和性别两列

df['姓名-性别'] = df['姓名'] + '-' + df['性别']

print(df)

输出结果为:

姓名 性别 年龄 姓名-性别

0 张三 男 18 张三-男

1 李四 女 20 李四-女

2 王五 男 19 王五-男

通过使用加法运算符,我们可以将姓名和性别两列合并为一个新的列,并将结果保存在"姓名-性别"列中。

方法二:使用字符串拼接方法

Pandas提供了字符串拼接方法str.cat(),它可以用于将多个列按照指定的分隔符进行拼接。

python

import pandas as pd

# 创建包含学生信息的数据框

data = {

'姓名': ['张三', '李四', '王五'],

'性别': ['男', '女', '男'],

'年龄': [18, 20, 19]

}

df = pd.DataFrame(data)

# 合并姓名和性别两列

df['姓名-性别'] = df['姓名'].str.cat(df['性别'], sep='-')

print(df)

输出结果为:

姓名 性别 年龄 姓名-性别

0 张三 男 18 张三-男

1 李四 女 20 李四-女

2 王五 男 19 王五-男

通过使用字符串拼接方法,我们可以将姓名和性别两列合并为一个新的列,并将结果保存在"姓名-性别"列中。

方法三:使用apply函数

apply函数可以用于对数据框的每一行进行操作。我们可以定义一个自定义函数,将需要合并的两列作为参数传入,并在函数中进行列的合并操作。

python

import pandas as pd

# 创建包含学生信息的数据框

data = {

'姓名': ['张三', '李四', '王五'],

'性别': ['男', '女', '男'],

'年龄': [18, 20, 19]

}

df = pd.DataFrame(data)

# 定义一个自定义函数,用于合并两列

def merge_columns(row):

return row['姓名'] + '-' + row['性别']

# 使用apply函数合并两列

df['姓名-性别'] = df.apply(merge_columns, axis=1)

print(df)

输出结果为:

姓名 性别 年龄 姓名-性别

0 张三 男 18 张三-男

1 李四 女 20 李四-女

2 王五 男 19 王五-男

通过使用apply函数,我们可以定义一个自定义函数来合并两列,并将结果保存在"姓名-性别"列中。

本文介绍了三种常见的方法来合并Pandas数据框中的列。通过使用加法运算符、字符串拼接方法和apply函数,我们可以方便地将多个列合并为一个新的列。在实际应用中,根据具体的需求选择合适的方法可以提高数据处理的效率和准确性。

以上就是关于Pandas数据框合并列的介绍,希望对你有所帮助!