我有一个熊猫专栏,如下所示:
df['description']
0. PRAIRIE HIGHLANDS SIXTH PLAT Lt: 156 PIN# DP73770000 0156 312 ABC
1. PRAIRIE VILLAGE PIN# OP55000034 0020A Rmrk: PT OF
2. Sub: HOLLY GREEN Lt: 14 Bl: 1 PIN# DP34500001 0D14
3. FAIRWAY PIN# GP20000006 0029 Rmrk: W
我想退出
PIN#
这样,预期结果:
DP73770000 0156 312
OP55000034 0020A
DP34500001 0D14
GP20000006 0029
我所尝试的:
df['PIN'] = df['description'].str.extract(r'\b(?:PIN# ?) (\w+(?:(?:\s*[ ])+\s*\d+)*)\b')
我得到的结果:
DP73770000 0156 312
OP55000034
DP34500001
GP20000006 0029
在空格后的数字之间有字母的数字不会被拾取。我也试过其他几款正则表达式,但都没有成功。我如何解决这个问题?请帮忙。