Pandas数据帧过滤器具有匹配功能

时间:2015-09-01 11:31:11

标签: python regex pandas

我有以下数据框

>>> df = pd.DataFrame(['as,df','as.df'])
>>> df
       0
0  as,df
1  as.df

除了大小写,我想使用完全匹配的字符串过滤dataFrame以上。我尝试了以下方式,但无法区分.,

>>> df[0].str.match('^As.df+$', case=False)
0     True
1     True
Name: 0, dtype: bool

您能帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

使用反斜杠转义 dot'^As\.df+$'

>> df[0].str.match('^as\.df$', case=False)
0     True
1    False
Name: 0, dtype: bool

要查看在正则表达式中何时(及如何)转义特殊字符,请参阅此问题:What special characters must be escaped in regular expressions?

如果正则表达式不在您的控制之下,那么您可以在自己添加一些字符之前使用re.escape,以确保没有意外的点,方括号或其他特殊字符使其成为正在搜索的字符串。