在我的Dataframe中,我使用以下内容将Brand列中的"stack"替换为"stackoverflow">
df['Brand'] = df['Brand'].replace('stack', 'stackoverflow', regex=True)
问题是,如果列中存在stackoverflow,我最终会出现stackoverflow溢出。
当列中的字段仅等于stack而不影响列中可能包含关键字stack的其他行时,是否有方法替换stack?
如果有多个替换要做,这个应该做n会很有用:
replace_dict = {'stack' : 'stackoverflow'}
replacement = {rf'b{k}b': v for k, v in replace_dict.items()}
df['Brand'] = df['Brand'].replace(replacement, regex=True)
发现了解决方案:
df['Brand'] = df['Brand'].str.replace(r'(?i)stackb', r'stackoverflow')
只需将regex参数设置为False。
这样可以确保只替换完全匹配,而不替换任何部分匹配。