我有一个熊猫竞技场,它有{{,},,,等特殊的字符。(逗号是分隔符)。
我试着用下划线('_')替换特殊字符,但它不起作用。你能告诉我我做错了什么吗?谢谢。
import pandas as pd
data = [["facebook_{{campaign.name}}"], ["google_[email]"]]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns = ['Marketing'])
print(df)
df['Marketing'].str.replace(r"\(|\)|\{|\}|\[|\]|\|", "_")
print(df)输出:
Marketing
0 facebook_{{campaign.name}}
1 google_[email]
Marketing
0 facebook_{{campaign.name}}
1 google_[email]发布于 2021-07-15 15:26:51
从这个DataFrame:
>>> import pandas as pd
>>> data = [["facebook_{{campaign.name}}"], ["google_[email]"]]
>>> df = pd.DataFrame(data, columns = ['Marketing'])
>>> df
Marketing
0 facebook_{{campaign.name}}
1 google_[email]我们可以像您建议的那样在replace中使用regex,包括|,它是一个or操作符,除了最后一个\|是符号|之外。
然后,我们重新复制双_,并删除最后的剩余_,以获得预期的结果:
>>> df['Marketing'] = df['Marketing'].str.replace(r"\(+|\)+|\{+|\}+|\[+|\]+|\|+|\_+|\.+", "_", regex=True).str.replace(r"_+", "_", regex=True).str.replace(r"_$", "", regex=True)
>>> df
0 facebook_campaign_name
1 google_email
Name: Marketing, dtype: objecthttps://stackoverflow.com/questions/68396041
复制相似问题