- 用法:- Series.str.split(pat=None, n=- 1, expand=False, *, regex=None)
- 圍繞給定的分隔符/分隔符拆分字符串。 - 在指定的分隔符字符串處從頭開始拆分係列/索引中的字符串。 - pat:str 或編譯的正則表達式,可選
- 要拆分的字符串或正則表達式。如果未指定,則在空格處拆分。 
- n:int,默認 -1(全部)
- 限製輸出中的拆分數量。 - None, 0 和 -1 將被解釋為返回所有拆分。
- expand:布爾值,默認為 False
- 將拆分的字符串展開為單獨的列。 - 如果 - True,返回 DataFrame/MultiIndex 擴展維度。
- 如果 - False,則返回包含字符串列表的係列/索引。
 
- regex:布爾值,默認無
- 確定 passed-in 模式是否為正則表達式: - 如果 - True,假設 passed-in 模式是正則表達式
- 如果 - False,則將模式視為文字字符串。
- 如果 - None和- pat長度為 1,則將- pat視為文字字符串。
- 如果 - None和- pat長度不為 1,則將- pat視為正則表達式。
- 如果 - pat是已編譯的正則表達式,則不能設置為 False
 
 
- Series、Index、DataFrame 或 MultiIndex
- 類型匹配調用者,除非 - expand=True(見注釋)。
 
- ValueError
- 如果 - regex為 False 並且- pat是已編譯的正則表達式
 
 
 - 參數:- 返回:- 拋出:- 注意:- n關鍵字的處理取決於找到的拆分數量:- 如果發現拆分 > - n,請先進行- n拆分
- 如果發現拆分 n ,則進行所有拆分 
- 如果對於某一行,找到的拆分數 n ,則追加 - None以填充到- nif- expand=True
 - 如果使用 - expand=True,Series 和 Index 調用者分別返回 DataFrame 和 MultiIndex 對象。- 使用帶有 - pat的- regex=False作為編譯的正則表達式會引發錯誤。- 例子:- >>> s = pd.Series( ... [ ... "this is a regular sentence", ... "https://docs.python.org/3/tutorial/index.html", ... np.nan ... ] ... ) >>> s 0 this is a regular sentence 1 https://docs.python.org/3/tutorial/index.html 2 NaN dtype:object- 在默認設置中,字符串由空格分隔。 - >>> s.str.split() 0 [this, is, a, regular, sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 NaN dtype:object- 如果沒有 - n參數,- rsplit和- split的輸出是相同的。- >>> s.str.rsplit() 0 [this, is, a, regular, sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 NaN dtype:object- n參數可用於限製分隔符上的拆分數量。- split和- rsplit的輸出不同。- >>> s.str.split(n=2) 0 [this, is, a regular sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 NaN dtype:object- >>> s.str.rsplit(n=2) 0 [this is a, regular, sentence] 1 [https://docs.python.org/3/tutorial/index.html] 2 NaN dtype:object- pat參數可用於按其他字符分割。- >>> s.str.split(pat="/") 0 [this is a regular sentence] 1 [https:, , docs.python.org, 3, tutorial, index... 2 NaN dtype:object- 使用 - expand=True時,拆分元素將擴展為單獨的列。如果存在 NaN,它將在拆分期間傳播到整個列。- >>> s.str.split(expand=True) 0 1 2 3 4 0 this is a regular sentence 1 https://docs.python.org/3/tutorial/index.html None None None None 2 NaN NaN NaN NaN NaN- 對於稍微複雜的用例,例如從 url 中拆分 html 文檔名稱,可以使用參數設置的組合。 - >>> s.str.rsplit("/", n=1, expand=True) 0 1 0 this is a regular sentence None 1 https://docs.python.org/3/tutorial index.html 2 NaN NaN- 請記住在顯式使用正則表達式時轉義特殊字符。 - >>> s = pd.Series(["foo and bar plus baz"]) >>> s.str.split(r"and|plus", expand=True) 0 1 2 0 foo bar baz- 正則表達式可用於處理 url 或文件名。當 - pat是字符串且- regex=None(默認值)時,僅當- len(pat) != 1時,給定的- pat才會編譯為正則表達式。- >>> s = pd.Series(['foojpgbar.jpg']) >>> s.str.split(r".", expand=True) 0 1 0 foojpgbar jpg- >>> s.str.split(r"\.jpg", expand=True) 0 1 0 foojpgbar- 當 - regex=True,- pat被解釋為正則表達式- >>> s.str.split(r"\.jpg", regex=True, expand=True) 0 1 0 foojpgbar- 編譯的正則表達式可以傳遞為 - pat- >>> import re >>> s.str.split(re.compile(r"\.jpg"), expand=True) 0 1 0 foojpgbar- 當 - regex=False,- pat被解釋為字符串本身- >>> s.str.split(r"\.jpg", regex=False, expand=True) 0 0 foojpgbar.jpg
相關用法
- Python pandas.Series.str.startswith用法及代碼示例
- Python pandas.Series.str.strip用法及代碼示例
- Python pandas.Series.str.swapcase用法及代碼示例
- Python pandas.Series.str.slice用法及代碼示例
- Python pandas.Series.str.slice_replace用法及代碼示例
- Python pandas.Series.str.isdecimal用法及代碼示例
- Python pandas.Series.str.get用法及代碼示例
- Python pandas.Series.str.replace用法及代碼示例
- Python pandas.Series.str.endswith用法及代碼示例
- Python pandas.Series.str.isspace用法及代碼示例
- Python pandas.Series.str.isdigit用法及代碼示例
- Python pandas.Series.str.wrap用法及代碼示例
- Python pandas.Series.str.isalnum用法及代碼示例
- Python pandas.Series.str.zfill用法及代碼示例
- Python pandas.Series.str.partition用法及代碼示例
- Python pandas.Series.str.isnumeric用法及代碼示例
- Python pandas.Series.str.count用法及代碼示例
- Python pandas.Series.str.rpartition用法及代碼示例
- Python pandas.Series.str.removesuffix用法及代碼示例
- Python pandas.Series.str.rsplit用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.Series.str.split。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
