熊猫正则表达式标志(如果模式匹配)

时间:2020-05-04 10:44:19

标签: regex pandas

我在pandas数据框中有一个字符串列。

如果第一列中匹配以下模式,我想用0/1标记另一列。

该列的典型值如下:

“ b064571d-9d72-4225-8ccf-5528622c5680”

8x-4x-4x-4x-12x

其中x是一个字符串,后跟连字符(该字符为字母数字,并且可以大写或小写)

我是否使用np.where和正则表达式匹配-不确定会是什么?

非常感谢

我已尽力而为-但不确定正则表达式的语法是否与模式匹配,并带有连字符分隔符

8x-4x-4x-4x-12x

s1 = pd.Series(['b064571d-9d72-4225-8ccf-5528622c5680', 'dog', 'house 
and parrot', '23', np.NaN])

s1.str.contains('[^a-zA-Z0-9]', regex=True)

1 个答案:

答案 0 :(得分:0)

该模式可能如下所示:

s1.str.contains(r'[a-zA-Z0-9]{8}\-[a-zA-Z0-9]{4}\-[a-zA-Z0-9]{4}\-[a-zA-Z0-9]{4}\-[a-zA-Z0-9]{12}', regex=True)