Как получить дату из формата года и семестра ('YYYY-SX'), используя pandas - PullRequest
0 голосов
/ 28 мая 2020

У меня есть столбец pandas с именем time, в котором указаны год и семестр. Например, в формате ('YYYYSX') 2018S1. Я хочу преобразовать формат времени в формате YYYYSX в дату

Input

   time
1  2019S2
2  2019S2
3  2020S1


output

   time
1  2019-09-30
2  2019-10-31
3  2020-01-31


1 Ответ

1 голос
/ 28 мая 2020
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

Я думаю, что в вашем ожидаемом результате были некоторые несоответствия, но вам просто нужно поместить любые семестры / даты, которые вы хотите, в словарь conversions.

...