- 用法:- Series.str.replace(pat, repl, n=- 1, case=None, flags=0, regex=None)
- 替換係列/索引中每次出現的模式/正則表達式。 - 等效於 - str.replace()或- re.sub(),具體取決於正則表達式值。- pat:str 或編譯的正則表達式
- 字符串可以是字符序列或正則表達式。 
- repl:str 或可調用
- 替換字符串或可調用對象。可調用對象傳遞正則表達式匹配對象,並且必須返回要使用的替換字符串。見 - re.sub()。
- n:int,默認 -1(全部)
- 從一開始就更換的數量。 
- case:布爾值,默認無
- 確定替換是否區分大小寫: - 如果為 True,則區分大小寫(如果 - pat是字符串,則默認為)
- 設置為 False 不區分大小寫 
- 如果 - pat是已編譯的正則表達式,則無法設置。
 
- flags:int,默認 0(無標誌)
- 正則表達式模塊標誌,例如重新忽略。如果 - pat是已編譯的正則表達式,則無法設置。
- regex:布爾值,默認為真
- 確定 passed-in 模式是否為正則表達式: - 如果為 True,則假定 passed-in 模式是正則表達式。 
- 如果為 False,則將模式視為文字字符串 
- 如果 - pat是已編譯的正則表達式或- repl是可調用的,則不能設置為 False。
 
 
- 對象的係列或索引
- 對象的副本,其中所有匹配的 - pat替換為- repl。
 
- ValueError
- 如果 - regex為 False 並且- repl是可調用的或- pat是已編譯的正則表達式
- 如果 - pat是已編譯的正則表達式並且設置了- case或- flags
 
 
 - 參數:- 返回:- 拋出:- 注意:- 當 - pat是已編譯的正則表達式時,所有標誌都應包含在已編譯的正則表達式中。將- case、- flags或- regex=False與已編譯的正則表達式一起使用將引發錯誤。- 例子:- 當 - pat是字符串且- regex為 True(默認值)時,給定的- pat將編譯為正則表達式。當- repl是字符串時,它會將匹配的正則表達式模式替換為- re.sub()。係列中的 NaN 值保持原樣:- >>> pd.Series(['foo', 'fuz', np.nan]).str.replace('f.', 'ba', regex=True) 0 bao 1 baz 2 NaN dtype:object- 當 - pat是字符串且- regex為 False 時,每個- pat都替換為- repl與- str.replace()一樣:- >>> pd.Series(['f.o', 'fuz', np.nan]).str.replace('f.', 'ba', regex=False) 0 bao 1 fuz 2 NaN dtype:object- 當 - repl是可調用對象時,使用- re.sub()在每個- pat上調用它。可調用對象應該期望一個位置參數(一個正則表達式對象)並返回一個字符串。- 要得到這個想法: - >>> pd.Series(['foo', 'fuz', np.nan]).str.replace('f', repr, regex=True) 0 <re.Match object; span=(0, 1), match='f'>oo 1 <re.Match object; span=(0, 1), match='f'>uz 2 NaN dtype:object- 反轉每個小寫字母單詞: - >>> repl = lambda m:m.group(0)[::-1] >>> ser = pd.Series(['foo 123', 'bar baz', np.nan]) >>> ser.str.replace(r'[a-z]+', repl, regex=True) 0 oof 123 1 rab zab 2 NaN dtype:object- 使用正則表達式組(提取第二組和交換案例): - >>> pat = r"(?P<one>\w+) (?P<two>\w+) (?P<three>\w+)" >>> repl = lambda m:m.group('two').swapcase() >>> ser = pd.Series(['One Two Three', 'Foo Bar Baz']) >>> ser.str.replace(pat, repl, regex=True) 0 tWO 1 bAR dtype:object- 使用帶有標誌的編譯正則表達式 - >>> import re >>> regex_pat = re.compile(r'FUZ', flags=re.IGNORECASE) >>> pd.Series(['foo', 'fuz', np.nan]).str.replace(regex_pat, 'bar', regex=True) 0 foo 1 bar 2 NaN dtype:object
相關用法
- Python pandas.Series.str.repeat用法及代碼示例
- Python pandas.Series.str.removesuffix用法及代碼示例
- Python pandas.Series.str.removeprefix用法及代碼示例
- Python pandas.Series.str.rpartition用法及代碼示例
- Python pandas.Series.str.rsplit用法及代碼示例
- Python pandas.Series.str.rstrip用法及代碼示例
- Python pandas.Series.str.isdecimal用法及代碼示例
- Python pandas.Series.str.get用法及代碼示例
- 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.startswith用法及代碼示例
- Python pandas.Series.str.count用法及代碼示例
- Python pandas.Series.str.strip用法及代碼示例
- Python pandas.Series.str.islower用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.Series.str.replace。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
