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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。