我有一个数据框作为df列作为Column1
如果column1值不适用,则返回False,或者检查列中元素的前2个字符是否应按字母顺序排列,并返回True或False

df['Column1'].apply(lambda x : False if x in ['Not Applicable'] else x[0:2] should be alphabetic)

如何在lambda函数的else部分中检查前两个字符是否按字母顺序排列?

最佳答案

此解决方案不需要regex。如果要检查这两个字母是否为字母,请使用str.isalpha()函数。

df['Column1'].apply(lambda x : False if x in ['Not Applicable'] else x[0:2].isalpha())

应操作人员要求,使用re.match
import re
df['Column1'].apply(lambda x : False if x in ['Not Applicable'] else re.match('[a-z]{2}', x[0:2].lower()) )

re.match如果存在匹配,则返回匹配对象,否则将返回None,因此可以使用返回值的真实性。

关于python - 正则表达式,前两个字符为字母Python,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44720741/

10-16 07:20