替换Python数据帧列中的字符

2024-10-01 13:35:28 发布

您现在位置:Python中文网/ 问答频道 /正文

下面显示的简单数据框replace不起作用。
NewPhone列包含与原始列相同的值。在

import pandas as pd
SF = pd.read_csv(r"xxx.csv")
SF['NewPhone'] = SF['Phone'].replace("(",'xxx')
print(SF['NewPhone'])

Tags: csv数据importpandasreadasphonesf
2条回答

^{}查找完全匹配项(默认情况下,除非您传递regex=True,但您需要转义括号-请参见@piRSquared的答案),您需要^{}

SF['NewPhone'] = SF['Phone'].str.replace("(",'xxx')

它将用新字符串替换传入字符串的所有实例

示例:

^{pr2}$

如果我们尝试replace,则不匹配:

In[22]:
df['phone'].replace("(",'xxx')

Out[22]: 
0    (999)-63266654
Name: phone, dtype: object

请参阅@piRSquared的答案,了解如何让replace按预期工作(我不想拆穿他的答案)

^{}方法接受一个regex参数,默认情况下是False。将其设置为True。另外,如果要替换的字符串被解释为正则表达式模式,则需要转义左括号。在

df.phone.replace("\(", 'xxx', regex=True)

0    xxx999)-63266654
Name: phone, dtype: object

从@EdChum设置

^{pr2}$

相关问题 更多 >