详解pandas.str.split()(字符串分割)函数使用方法

  • Post category:Python

pandas是Python中非常常用的数据处理库之一,它提供了大量的数据处理功能。其中,split()函数是pandas中对字符串分割的函数,对于需要对表格中的字符串进行分词、分割的情况非常有用。本文将详细讲解split()函数的作用与使用方法,同时提供实际使用的案例进行演示。

1. split()函数的作用

split()函数的作用是将字符串按照指定的分割符进行分割,并且返回分割得到的字符串列表。该函数通常用于对表格中的数据进行字符串分割或分词处理。split()函数的返回值为一个Series或DataFrame对象,其中分割得到的字符串列表会按行组成一个新的Series或DataFrame。

2. split()函数的使用方法

split()函数的使用方法很简单,其语法如下所示:

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

其中,参数pat是分割符,如果不指定,则默认为所有空白字符(包括空格、制表符、换行符等)。参数n表示最多分割出的字符串个数,如果为-1,则表示不限制个数。参数expand表示是否将分割得到的字符串列表扩展成DataFrame对象。默认情况下,expandFalse,则返回一个Series对象。如果将expand设置为True,则返回一个DataFrame对象,其中每一列都是分割得到的字符串列表。

下面通过几个实例来演示split()函数的使用方法。

实例一:将文本数据按逗号分割

假设有如下一组数据:

data = {
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [25, 30, 35],
    'address': ['New York, USA', 'London, UK', 'Beijing, China']
}
df = pd.DataFrame(data)

其中,address列的数据是由城市和国家组成的,两者用逗号隔开。现在我们需要将address列的数据按照逗号分割成两列,分别表示城市和国家。可以使用split()函数来实现:

df[['city', 'country']] = df['address'].str.split(',', expand=True)

其中,split()函数对address列进行分割,按照逗号分割成两列,并且将分割得到的字符串列表扩展成两列,分别命名为citycountry

最终结果为:

       name  age         address      city country
0     Alice   25   New York, USA  New York     USA
1       Bob   30      London, UK    London      UK
2  Charlie   35  Beijing, China   Beijing   China

实例二:将文本数据按空格分割

假设有如下一组数据:

data = {
    'text': ['A B C', 'D E F', 'G H I']
}
df = pd.DataFrame(data)

现在我们需要将text列的数据按照空格进行分割。可以使用split()函数来实现:

df['words'] = df['text'].str.split()

其中,split()函数对text列进行分割,按照空格分割成多个字符串,并且返回一个Series对象,其中每个元素都是分割后得到的字符串列表。

最终结果为:

    text      words
0  A B C  [A, B, C]
1  D E F  [D, E, F]
2  G H I  [G, H, I]

以上两个实例分别演示了split()函数的基本使用方法和高级用法。开发者可以结合自己的实际需求来灵活运用该函数,实现更多样化的数据处理。