4
我运行一个程序:大熊猫str.replace得到什么
# encoding=utf-8
import pandas
df=pandas.DataFrame([['11-20','a',1],['10-20 更新于16-10-20 18:07','b',2],['15-12-27','c',3],['15-10-26 更新于10-26 23:52','d',4]],columns=['date','name','type'])
df.date=df.date.str.replace('^(\d+)(-)(\d+)((-)\d+){0,1}(.*)','\1\2\3\4')
print df
这是结果:
date name type
0 a 1
1 b 2
2 c 3
3 d 4
我想要得到的结果是:
date name type
0 11-20 a 1
1 10-20 b 2
2 15-12-27 c 3
3 15-10-26 d 4
我还检查了这正则表达式为https://regex101.com/r/apIT0O/8。但我不知道问题出在哪里
是的,它的工作原理。但是df.date.str.replace('^(\ d +)( - )(\ d +)(( - )(\ d +)){0,1}(。*)','\\ 1 \\ 2 \\ 3 \\ 4')只适用于python 3。+。你能告诉我区别吗?谢谢! – pang2016