當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Pandas Series str split方法用法及代碼示例


Pandas Series.str.split(~) 方法對係列中的每個字符串執行拆分。

參數

1.pat | string | optional

用於分割字符串的字符串或正則表達式模式。默認情況下,pat=" "(單個空格)。

2. n | int | optional

每個值允許的分割數。默認情況下,沒有限製。請注意,參數值 None0-1 將被解釋為無限製。

3. expand | boolean | optional

  • 如果 True ,則返回的列表將水平擴展為單獨的列。

  • 如果 False ,則為每個值返回一個列表。

默認情況下,expand=False

返回值

如果 expand=True ,則返回 DataFrame /MultiIndex。否則,返回 Series /Index

例子

基本用法

考慮以下係列:

s = pd.Series(["a","a_1","a_2"])
s



0    a
1    a_1
2    a_2
dtype: object

要按 _ 分割每個字符串:

s.str.split("_")



0    [a]
1    [a, 1]
2    [a, 2]
dtype: object

請注意係列中的每個值現在都是一個列表。

使用正則表達式

可以直接使用正則表達式作為分隔符:

s = pd.Series(["a_1","a*2"])
s.str.split(r'[_*]')



0    [a, 1]
1    [a, 2]
dtype: object

指定n

默認情況下,可以進行的拆分數量沒有限製:

s = pd.Series(["a_1","a_2_3"])
s.str.split("_")



0       [a, 1]
1    [a, 2, 3]
dtype: object

允許每個值最多進行 1 拆分:

s.str.split("_", n=1)



0      [a, 1]
1    [a, 2_3]
dtype: object

指定展開

默認情況下, expand=False ,這意味著每個值都成為一個列表:

s = pd.Series(["a", "a_1","a_2"])
s.str.split("_")



0    [a]
1    [a, 1]
2    [a, 2]
dtype: object

您可以通過設置 expand=True 來擴展列表,如下所示:

s.str.split("_", expand=True)   # returns a DataFrame



   0  1
0  a  None
1  a  1
2  a  2

處理缺失值

單個缺失值 ( NaN ) 的拆分結果也是 NaN

s = pd.Series(["a_1",pd.np.NaN])
s.str.split("_")



0    [a, 1]
1       NaN
dtype: object

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas Series str | split method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。