[英]Substitution of texts through regular expressions in python
我有以下熊猫数据框:
datetime code
2016-12-16 07:30:00 "3080 3130 3070"
2016-12-16 08:00:00 "3020 3080 3060 3130"
我想得到:
datetime code
2016-12-16 07:30:00 "08 13 07"
2016-12-16 08:00:00 "02 08 06 13"
我想通过正则表达式解决问题,因为我正在学习它。
test = "3080 3130 3070"
import re
pattern = re.compile('\d{4}')
...
关于如何进行字符串更改的任何建议? 我不知道如何继续
提前非常感谢你
尝试这个:
In [89]: df
Out[89]:
datetime code
0 2016-12-16 07:30:00 3080 3130 3070
1 2016-12-16 08:00:00 3020 3080 3060 3130
In [90]: df.code = \
df.code.str.extractall(r'\d(\d{2})\d') \
.unstack() \
.apply(lambda x: ' '.join(x.dropna()), axis=1)
In [91]: df
Out[91]:
datetime code
0 2016-12-16 07:30:00 08 13 07
1 2016-12-16 08:00:00 02 08 06 13
使用此正则表达式查找"
(?<=\s\")([^\"]+?)(?=\")
然后,您可以搜索以下正则表达式以仅使用4个数字中的两个数字:
(?<=\d)(\d{2})(?=\d)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.