я запустить программу:панды не 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
Я также проверить это regex на https://regex101.com/r/apIT0O/8. Но я не знаю, где проблема
Да, это работает. но df.date.str.replace ('^ (\ d +) (-) (\ d +) ((-) (\ d +)) {0,1} (. *)', '\\ 1 \\ 2 \\ 3 \\ 4 ') работает только на python 3. +. Не могли бы вы сказать мне разницу? Благодаря! – pang2016