Pandas: 切分字符串并创建新列

Pandas: 切分字符串并创建新列

在本文中,我们将介绍如何使用Pandas库来切分字符串并创建新列。Pandas是Python中一个强大的数据处理工具,提供了许多方便的函数和方法来处理数据。

阅读更多:Pandas 教程

准备工作

首先,我们需要导入Pandas库。如果你还没有安装Pandas,可以使用以下命令进行安装:

pip install pandas
Python

导入Pandas库的代码如下:

import pandas as pd
Python

切分字符串

Pandas库中的str.split()方法可以很方便地切分字符串。该方法可以接受一个分隔符作为参数,并返回切分后的字符串列表。

假设我们有如下的DataFrame,其中一列包含了人名和年龄的信息:

data = {'person': ['John,25', 'Alice,35', 'Bob,30']}
df = pd.DataFrame(data)
print(df)
Python

输出结果如下:

   person
0  John,25
1  Alice,35
2    Bob,30
Python

我们可以使用str.split()方法切分person列中的字符串,并将切分后的结果存储到新的列中:

df[['name', 'age']] = df['person'].str.split(',', expand=True)
print(df)
Python

输出结果如下:

   person   name age
0  John,25   John  25
1  Alice,35  Alice  35
2    Bob,30    Bob  30
Python

在上述例子中,我们将切分后的姓名存储到了name列中,将切分后的年龄存储到了age列中。

创建新列

除了将切分后的值存储到新的列中,我们还可以使用assign()方法直接创建新的列。

假设我们有如下的DataFrame,其中一列是日期字符串:

data = {'date': ['2022-01-01', '2022-02-01', '2022-03-01']}
df = pd.DataFrame(data)
print(df)
Python

输出结果如下:

         date
0  2022-01-01
1  2022-02-01
2  2022-03-01
Python

我们可以使用assign()方法创建一个新的列来存储日期的年份:

df = df.assign(year=df['date'].str.split('-').str[0])
print(df)
Python

输出结果如下:

         date  year
0  2022-01-01  2022
1  2022-02-01  2022
2  2022-03-01  2022
Python

在上述例子中,我们使用str.split('-').str[0]将日期切分成一个字符串列表,并提取列表中的第一个元素来获取年份信息。然后,我们使用assign()方法将年份存储到新的列year中。

示例说明

我们可以通过一个示例来说明切分字符串并创建新列的更实际的用法。

假设我们有如下的DataFrame,其中一列是包含了邮件地址的字符串:

data = {'email': ['alice@example.com', 'bob@example.com', 'john@example.com']}
df = pd.DataFrame(data)
print(df)
Python

输出结果如下:

              email
0  alice@example.com
1   bob@example.com
2  john@example.com
Python

我们可以使用str.split('@').str[1]将邮件地址切分成一个字符串列表,并提取列表中的第二个元素来获取邮箱的域名信息:

df = df.assign(domain=df['email'].str.split('@').str[1])
print(df)
Python

输出结果如下:

              email          domain
0  alice@example.com      example.com
1   bob@example.com      example.com
2  john@example.com      example.com
Python

在上述例子中,我们使用str.split('@').str[1]将邮件地址切分成一个字符串列表,并提取列表中的第二个元素,即邮箱的域名信息。然后,我们使用assign()方法将域名信息存储到新的列domain中。

总结

本文介绍了如何使用Pandas库来切分字符串并创建新列的方法。首先,我们可以使用str.split()方法切分字符串,并将切分后的结果存储到新的列中。其次,我们可以使用assign()方法直接创建新的列,并在其中存储切分后的值。以上这些方法可以帮助我们处理包含字符串的列,并从中提取有用的信息。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册