replace
ищет точные совпадения (по умолчанию, если вы не передадите regex=True
, но вам нужно будет избегать скобок - см. Ответ @ piRSquared), вам нужно str.replace
:
SF['NewPhone'] = SF['Phone'].str.replace("(",'xxx')
, который заменит все вхождения переданной строки новой строкой
Пример:
In[20]:
df = pd.DataFrame({'phone':['(999)-63266654']})
df
Out[20]:
phone
0 (999)-63266654
In[21]:
df['phone'].str.replace("(",'xxx')
Out[21]:
0 xxx999)-63266654
Name: phone, dtype: object
Если мы попробуем replace
, то нетпроисходит совпадение:
In[22]:
df['phone'].replace("(",'xxx')
Out[22]:
0 (999)-63266654
Name: phone, dtype: object
См. ответ @ piRSquared о том, как заставить replace
работать как положено (я не хочу каннибализировать его ответ)