Python学习笔记:pandas.Series.str.split分列

一、字符串分割split

split() 方法通过指定分隔符对字符串进行切分,返回分割后的字符串列表。

使用语法为:

str.split(str=" ", maxsplit=string.count(str))

参数:

-- str 分隔符 默认为所有的空字符 包括空格、换行符、制表符等
-- maxsplit 分割次数 默认-1 即分割所有

实操:

str = "abc ggg rrr"
str.split() # ['abc', 'ggg', 'rrr']
str.split(" ",maxsplit=1) # ['abc', 'ggg rrr']

二、pandas.str.split分列

1.str.split()

使用语法为:

Series.str.split(pat=None, n=-1, expand=False)
-- pat 分隔符
-- n 指定分割次数 -1代表全部
-- expand=True 分列 返回多列

指定 expand=True 进行分列,返回 DataFrame

import pandas as pd
df = pd.DataFrame({'id':[1, 2],
                   'code':['A,B,C', 'B,C']})

# 按逗号分割
df.code.str.split(',')
'''
0    [A, B, C]
1       [B, C]
Name: code, dtype: object
'''

# 自动分列
df.code.str.split(',', expand=True)
'''
   0  1     2
0  A  B     C
1  B  C  None
'''

# 指定参数n 分割次数
df.code.str.split(',', expand=True, n=1)
'''
   0    1
0  A  B,C
1  B    C
'''

支持正则表达式分割符

import pandas as pd
s = pd.Series(["1+1=2"])
s.str.split(r"\+|=", expand=True)
'''
   0  1  2
0  1  1  2
'''

2.str.rsplit

从右往左寻找分列依据,使用语法类似 split

df['code'].str.rsplit(',', expand=True, n=1)
'''
     0  1
0  A,B  C
1    B  C
'''

参考链接:Python split()方法

参考链接:pandas的分列操作str.split()

参考链接:pandas的字符串的分割之str.split()

参考链接:pandas.Series.str.split

posted @ 2021-09-15 17:27  Hider1214  阅读(2310)  评论(0编辑  收藏  举报