📜  Python| Pandas Series.str.partition()(1)

📅  最后修改于: 2023-12-03 15:19:15.903000             🧑  作者: Mango

Python | Pandas Series.str.partition()

简介

Pandas是Python中基于Numpy数组构建的数据处理包。其中,Series是基本的一维数组,它由一组数据和一组与之相关的标签(即索引)组成。Series.str.partition()方法是Series对象的一个字符串处理方法,它用于将Series对象中的每个字符串切分为三个部分,并返回一个元组。

语法
Series.str.partition(sep, expand=True)
参数
  • sep:指定用于切分字符串的字符串或正则表达式。
  • expand:默认为True,表示将划分结果转换为Dataframe,而不是Series。如果不需要Dataframe而需要元组,则将此参数设置为False。
返回值
  • 如果expand=True(默认值),则划分结果为DataFrame,其中包含原始Series的所有元素和划分结果的三列,分别为左侧字符串、分隔符和右侧字符串。
  • 如果expand=False,则返回元组,元组中的三个元素分别为左侧字符串、分隔符和右侧字符串,每个元素均为Series类型。
示例
import pandas as pd

# 创建Series对象
s = pd.Series(['hello world', 'foo|bar', 'python|pandas', 'data|processing'])

# 将每个字符串按 | 切分成三部分,并将结果转换为DataFrame
df = s.str.partition('|')

print(df)

输出结果为:

          0  |  1           |   2
0  hello world  |         |  None
1          foo  |  bar      | None
2       python  | pandas   | None
3         data  | processing| None

上面的代码创建了一个包含四个字符串的Series对象,并将其用|分割成三个部分,然后将结果转换为一个包含四行三列的DataFrame。\

如果不需要DataFrame,只需要元组,则可以将expand参数设置为False

# 将每个字符串按 | 切分成三部分,并将结果转换为元组
res = s.str.partition('|', False)

print(res)

输出结果为:

(array(['hello world', 'foo', 'python', 'data'], dtype=object),
 array(['', '|', '|', '|'], dtype=object),
 array([None, 'bar', 'pandas', 'processing'], dtype=object))

上面的代码将结果转换为元组,其中每个元素都是一个Series对象。第一个元素是左侧字符串,第二个元素是分隔符,第三个元素是右侧字符串。