Pandas 将Pandas dataframe中的两列文本合并

Pandas 将Pandas dataframe中的两列文本合并

在本文中,我们将介绍如何将Pandas dataframe中的两列文本合并为一列。

阅读更多:Pandas 教程

为什么要将两列文本合并为一列?

在某些情况下,需要将两列文本合并为一列。这可能是因为需要在单独的列中查找信息时更方便,或者因为只需要以这种方式查看数据。

例如,假设你有一个包含名字和姓氏的Pandas dataframe。通常,每个人的信息都需要根据其名字和姓氏进行查找。通过将两列文本合并为一列,您可以更轻松地查找每个人的信息。

如何将两列文本合并为一列?

Pandas dataframe有一个“.str.cat()”方法,可用于合并两个列:

import pandas as pd

df = pd.DataFrame({'first_name': ['John', 'Jane', 'Bob'],
                   'last_name': ['Doe', 'Doe', 'Smith']})

df['full_name'] = df['first_name'].str.cat(df['last_name'], sep=' ')
Python

在这个例子中,我们首先创建了一个包含名字和姓氏的dataframe。接下来,我们使用“.str.cat()”方法将名字和姓氏合并,使用空格作为分隔符,并将其添加到dataframe的新列中。

输出结果如下:

  first_name last_name   full_name
0       John       Doe    John Doe
1       Jane       Doe    Jane Doe
2        Bob     Smith  Bob Smith
Python

我们可以看到,新的“full_name”列现在包含所有人的全名。

合并多个列的文本

如果需要将多个列的文本合并到一个列中,我们可以简单地在“.str.cat()”方法中传递所有列:

df['full_name'] = df[['first_name', 'middle_name', 'last_name']].apply(lambda x: ' '.join(x.dropna().astype(str)), axis=1)
Python

在这个例子中,我们首先创建一个包含所有名字列的dataframe。接下来,我们使用“.apply()”方法将每一行中的所有列(通过“dropna()”过滤掉缺失值)连接起来。

输出结果如下:

  first_name middle_name last_name          full_name
0       John        None       Doe           John Doe
1       Jane        Mary       Doe      Jane Mary Doe
2        Bob         Lee     Smith         Bob Lee Smith
3      Alice     Marlene     Wong  Alice Marlene Wong
Python

我们可以看到,新的“full_name”列现在包含所有人的全名。

总结

在本文中,我们介绍了如何使用Pandas将文本dataframe中的两列或多列合并为一列。此过程可为数据分析和数据处理带来便利。请根据您的具体需求使用正确的方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册