我有一个pandas列叫时间,它包含年份和学期。例如在格式('YYYYSX')2018S1。我想把YYYYSX中的时间格式转换成日期
输入
time
1 2019S2
2 2019S2
3 2020S1
产出
time
1 2019-09-30
2 2019-10-31
3 2020-01-31
def convert(time):
year = time[:4]
semester = time[4:]
conversions = {'S1': '-01-31' , 'S2': '-06-03', 'S3': '-09-30'}
return pd.to_datetime(year + conversions[semester])
df['time'] = df.time.apply(convert)
返回 。
time
0 2019-06-03
1 2019-06-03
2 2020-01-31
我认为你的预期输出有一些不一致,但你只需要在你想要的semestersdates中放入任何你想要的东西。conversions
词典;