def nub(x):
t=re.compile(r'\d+').findall(x)
if len(t)==0:
return '',''
elif len(t)==1:
if t[0]=='0':
return '',''
else:
return t[0],''
elif len(t)==2:
return t[0],t[1]
df['Kind_len'],df['Kind_acc']=zip(*df['Type'].apply(nub))
1、compile()
re.compile编译正则表达式模式,返回一个对象的模式。
2、findall()
re.findall遍历匹配,可以获取字符串中所有匹配的字符串,返回一个列表。
3、zip()
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。