pandas .str.split详解

pandas .str.split详解

pandas .str.split详解

1. 简介

在使用pandas进行数据处理时,经常会遇到需要将字符串列按照某种分隔符进行拆分的情况。pandas提供了str.split函数来实现这一功能。本文将详细介绍pandas中的str.split函数的用法和示例。

2. 语法

str.split函数的语法如下:

Series.str.split(self, pat=None, n=-1, expand=False)
Python

参数说明:

  • pat:要使用的分隔符,默认为None,表示使用空格进行分割。也可以是正则表达式。
  • n:拆分次数。默认值为-1,表示拆分所有符合条件的部分。
  • expand:如果为True,返回一个DataFrame,每个拆分的部分将被放在不同的列中。如果为False,返回一个列表。

3. 示例

3.1 默认分隔符

假设有如下的一个数据集:

import pandas as pd

data = {'Name': ['Alice Bob', 'Charlie David', 'Emily Frank']}
df = pd.DataFrame(data)

print(df)
Python

输出为:

            Name
0      Alice Bob
1  Charlie David
2    Emily Frank
Python

如果我们想将Name列按照空格进行拆分,可以使用str.split函数:

df['First Name'] = df['Name'].str.split().str[0]
df['Last Name'] = df['Name'].str.split().str[1]

print(df)
Python

输出为:

            Name First Name Last Name
0      Alice Bob      Alice       Bob
1  Charlie David   Charlie     David
2    Emily Frank      Emily     Frank
Python

3.2 自定义分隔符

如果我们想将Name列按照_进行拆分,可以在str.split函数中指定pat参数:

df['First Name'] = df['Name'].str.split('_').str[0]
df['Last Name'] = df['Name'].str.split('_').str[1]

print(df)
Python

输出为:

            Name First Name Last Name
0      Alice_Bob      Alice       Bob
1  Charlie_David   Charlie     David
2    Emily_Frank      Emily     Frank
Python

3.3 拆分成DataFrame

如果我们希望将拆分的部分放在不同的列中,并返回一个DataFrame,可以将expand参数设置为True

df[['First Name', 'Last Name']] = df['Name'].str.split(' ', expand=True)

print(df)
Python

输出为:

            Name First Name Last Name
0      Alice Bob      Alice       Bob
1  Charlie David   Charlie     David
2    Emily Frank      Emily     Frank
Python

3.4 拆分指定次数

如果我们只想拆分一部分,可以指定n参数:

df[['First Name', 'Last Name']] = df['Name'].str.split(' ', n=1, expand=True)

print(df)
Python

输出为:

            Name First Name    Last Name
0      Alice Bob      Alice          Bob
1  Charlie David   Charlie        David
2    Emily Frank      Emily        Frank
Python

4. 总结

通过本文的介绍,我们了解了pandas中的str.split函数的用法及示例。该函数在处理字符串列时非常有用,能够快速便捷地实现字符串的拆分操作。在实际的数据处理过程中,我们可以根据具体的需求使用不同的参数来灵活地进行拆分操作,提高数据处理的效率和准确性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程