我有一个数据框作为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/