Как изменить столбец в один формат даты, если у вас два разных формата?

#python #date #google-colaboratory

Вопрос:

Итак, у меня есть дата столбца с двумя разными форматами дат, такими как эти:

1/2/2011

13-01-2011

У меня есть код :

 superstore['Order Month'] = superstore['Order Date'].apply(lambda x: datetime.datetime.strptime(x, "%d/%m/%Y").strftime('%m/%Y'))
 

Возврат Google Colab

 ValueError: time data '13-01-2011' does not match format '%d/%m/%Y'
 

Как это решить?

Ответ №1:

Используйте if инструкцию, чтобы проверить, какой формат содержится в каждой записи, и применить правильный. Например:

 def convert(x):
    date_format = "%d/%m/%Y" if '/' in x else "%d-%m-%Y"
    return datetime.datetime.strptime(x, date_format).strftime('%m/%Y')
    
superstore['Order Month'] = superstore['Order Date'].apply(convert)