Python 在数据帧单元格中查找特定格式
我有一个数据框,在其中我需要检查列的每个单元格中的内容是否遵循特定的格式Python 在数据帧单元格中查找特定格式,python,regex,pandas,dataframe,Python,Regex,Pandas,Dataframe,我有一个数据框,在其中我需要检查列的每个单元格中的内容是否遵循特定的格式 Index Column A 0 abcd 1 abc_1 2 abc_xy 3 abc_12 4 zabc_12 如何查找与以下格式匹配的单元格:“abc_u2;+number”,以便找到索引1和3中的值 到目前为止,我知道如何使用regex查找单元格的“abc”或数字部分: re.match('abc_', df['Column A'])
Index Column A
0 abcd
1 abc_1
2 abc_xy
3 abc_12
4 zabc_12
如何查找与以下格式匹配的单元格:“abc_u2;+number”,以便找到索引1和3中的值到目前为止,我知道如何使用regex查找单元格的“abc”或数字部分:
re.match('abc_', df['Column A'])
但我不知道如何寻找完整的模式。任何帮助都将不胜感激,谢谢 您可以使用:
或者,如果该模式与整个字符串匹配
df['Column A'].str.contains(r'^abc_\d+$')
请注意,默认情况下,pat
参数被视为正则表达式,因此您不必使用regex=True
。您可以使用na
参数定义缺失值的填充值
图案细节
-字符串的开头(此处需要它,因为^
使用str.contains
,而不是re.search
,因此不会将匹配锚定在字符串的开头)re.match
-文字子字符串abc
-1+位\d+
-字符串结束$
\d
只找一个位数。+$
迎合了这一点@MAK7这也取决于实际需求。如果数字后面应该有字符串结尾,^abc\ud+$
是正确的模式。如果需要确保字符串以abc\uu
开头,则^abc\ud
可以。这两种模式都按照您的要求执行,它们返回第1行和第3行。
df['Column A'].str.contains(r'^abc_\d+$')