pandas.str.replace() 函数用于替换 Series 或 DataFrame 中的子字符串。
语法:
pandas.str.replace(pat, repl, n=-1, case=None, flags=0, regex=True)
参数介绍:
- pat:被替换的子字符串
- repl:替换 pat 的字符串
- n:要替换的子字符串数量。默认值是-1,表示替换所有匹配的子字符串
- case:是否区分大小写。如果为True,则区分。默认为None,表示不区分
- flags:正则表达式标志。如re.IGNORECASE
- regex:是否使用正则表达式。默认为True
对于 Series 类型:
下面是一个示例,使用 pandas.str.replace() 函数来替换字符串:
import pandas as pd
# 创建一个 Series 对象
s = pd.Series(['dog', 'cat', 'bird', 'fish'])
# 使用 str.replace() 方法,将 'dog' 替换为 'kitten'
s_new = s.str.replace('dog', 'kitten')
# 打印新的 Series
print(s_new)
输出结果:
0 kitten
1 cat
2 bird
3 fish
dtype: object
对于 DataFrame 类型:
下面是一个示例,使用 pandas.str.replace() 函数来替换 DataFrame 中的字符串:
import pandas as pd
# 创建一个 DataFrame 对象
data = {'animal': ['dog', 'cat', 'bird', 'fish'],
'color': ['brown', 'white', 'blue', 'green']}
df = pd.DataFrame(data)
# 使用 str.replace() 方法,将 'dog' 替换为 'kitten'
df_new = df.apply(lambda x: x.str.replace('dog', 'kitten'))
# 打印新的 DataFrame
print(df_new)
输出结果:
animal color
0 kitten brown
1 cat white
2 bird blue
3 fish green
实例 1:将字符串中的空格替换为下划线
import pandas as pd
#创建一个字符串 Series
s = pd.Series(['This is a string with spaces',
'Here is another string with spaces'])
#使用 str.replace() 函数将空格替换为下划线
s_new = s.str.replace(' ', '_')
#打印新的 Series
print(s_new)
输出结果:
0 This_is_a_string_with_spaces
1 Here_is_another_string_with_spaces
dtype: object
实例 2:将字符串中的所有数字替换为 # 号
import pandas as pd
#创建一个字符串 Series
s = pd.Series(['abc1234', 'abc5678', 'abc9xyz'])
#使用 str.replace() 函数将数字替换为 # 号
s_new = s.str.replace('\d', '#')
#打印新的 Series
print(s_new)
输出结果:
0 abc####
1 abc####
2 abc#xyz
dtype: object
注意:在第二个示例中,使用了正则表达式 \d 来匹配所有数字,并将其替换为 # 号。因为 regex 参数默认值为 True,该函数会使用正则表达式进行匹配和替换。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解pandas.str.replace()(字符串替换)函数使用方法 - Python技术站