我有一个数据帧,其中Date contains列来自不需要的字符,我只需要Y,M,D。
场景1: His_205_26Oct2017
场景2: His_40_26Oct2017
场景3: His_3_26Oct2017
ScenarioDate
His_205_26Oct2017
His_359_24Mar2017
His_380_23Feb2017
His_392_07Feb2017
His_40_14Jun2018
His_2_12Jul2018我试着使用下面的代码
df2['ScenarioDate'].map(lambda x: str(x)[7:])但是我得到了不同的输出
场景1:_26Oct2017
场景2:2017年10月26日
场景3: Oct2017
我需要有输出为"26Oct2017“的所有3个方案
发布于 2019-05-10 15:21:49
在包含2个整数、3个字符和4个整数的_之后,使用Series.str.extract with pattern作为匹配值:
df['date'] = df['ScenarioDate'].str.extract('_(\d{2}[a-zA-Z]{3}\d{4})')
print (df)
ScenarioDate date
0 His_205_26Oct2017 26Oct2017
1 His_359_24Mar2017 24Mar2017
2 His_380_23Feb2017 23Feb2017
3 His_392_07Feb2017 07Feb2017
4 His_40_14Jun2018 14Jun2018
5 His_2_12Jul2018 12Jul2018
6 His_205_26Oct2017_AD 26Oct2017
7 His_205_26Oct2017_ABC 26Oct2017发布于 2019-05-10 15:23:39
import pandas as pd
df['new date'] = pd.to_datetime(df['ScenarioDate'].split('_')[-1])https://stackoverflow.com/questions/56072600
复制相似问题