一、字符串分割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()方法