Pandas Series str.replace(~)
方法將 Series 中每個字符串的子字符串替換為指定值。此操作未就地完成,這意味著返回一個新係列,並且原始係列保持不變。
參數
1.pat
| string
或 regex
要替換的子字符串。由於regex=True
默認情況下,pat
將被視為正則表達式。
2. repl
| string
或 callable
要替換 pat
的值。如果傳遞可調用對象,則它將采用匹配的正則表達式模式作為參數,並返回替換匹配項的字符串。
3. n
| int
| optional
進行的最大替換次數(含)。默認情況下,替換次數沒有限製。
4. case
| boolean
或 None
| optional
匹配是否區分大小寫:
值 |
說明 |
---|---|
|
匹配區分大小寫。 |
|
匹配不區分大小寫。 |
|
使用正則表達式的情況。 |
默認情況下,case=None
(因為默認情況下是regex=True
)。請注意,如果 pat
是已編譯的正則表達式,則無法設置 case
。
5. flags
| int
| optional
標準正則表達式模塊中找到的標誌(例如 re.IGNORECASE
)。默認情況下,flags=0
。請注意,如果pat
是已編譯的正則表達式,則無法設置flags
。
6. regex
| boolean
| optional
pat
是否被視為正則表達式。默認情況下,regex=True
。
返回值
帶有替換子字符串的新 Series
。
例子
基本用法
要將係列中每個字符串的子字符串 "A"
替換為 "c"
:
s = pd.Series(["aA", "bA", "Ac"])
s.str.replace("A", "c")
0 ac
1 bc
2 cc
dtype: object
使用正則表達式
默認情況下, regex=True
,這意味著您可以直接傳入正則表達式,如下所示:
s = pd.Series(["aA", "bA", "Ac"])
s.str.replace(".*A$", "c") # regex=True
0 c
1 c
2 Ac
dtype: object
在這裏,我們替換以 A
結尾的子字符串。
使用編譯的正則表達式
要使用已編譯的正則表達式而不是字符串形式的正則表達式:
import re
s = pd.Series(["aA", "bA", "Ac"])
my_regex = re.compile("a", flags=re.IGNORECASE)
s.str.replace(my_regex, "D")
0 DD
1 bD
2 Dc
dtype: object
傳入可調用的 repl
傳遞給 repl
的函數有一個參數 - 捕獲匹配的正則表達式對象。此函數必須返回一個將替換匹配項的字符串。
例如,考慮以下情況:
s = pd.Series(["aA", "bA", "Ac"])
def foo(my_regex):
match = my_regex.group(0)
return match.upper()
s.str.replace(".*A$", foo)
0 AA
1 BA
2 Ac
dtype: object
在這裏,我們將以大寫形式替換每個以 A
結尾的字符串。澄清一下,在這種情況下 foo
被調用兩次,如果我們要打印 match
的值,我們將看到以下內容:
aA
bA
相關用法
- Python Pandas Series str rstrip方法用法及代碼示例
- Python Pandas Series str extractall方法用法及代碼示例
- Python Pandas Series str split方法用法及代碼示例
- Python Pandas Series str center方法用法及代碼示例
- Python Pandas Series str pad方法用法及代碼示例
- Python Pandas Series str extract方法用法及代碼示例
- Python Pandas Series str len方法用法及代碼示例
- Python Pandas Series str lower方法用法及代碼示例
- Python Pandas Series str strip方法用法及代碼示例
- Python Pandas Series str lstrip方法用法及代碼示例
- Python Pandas Series string contains方法用法及代碼示例
- Python Pandas Series to_list方法用法及代碼示例
- Python Pandas Series between方法用法及代碼示例
- Python Pandas Series map方法用法及代碼示例
- Python Pandas Series hasnans屬性用法及代碼示例
- Python Pandas Series is_monotonic屬性用法及代碼示例
- Python Pandas Series to_frame方法用法及代碼示例
- Python Pandas Series zfill方法用法及代碼示例
- Python Pandas Series argmax方法用法及代碼示例
- Python Pandas Series is_monotonic_increasing屬性用法及代碼示例
- Python Pandas Series is_unique屬性用法及代碼示例
- Python Pandas Series argmin方法用法及代碼示例
- Python Pandas Series value_counts方法用法及代碼示例
- Python Pandas Series is_monotonic_decreasing屬性用法及代碼示例
- Python Pandas Series.cumsum()用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas Series str | replace method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。