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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM