Я получаю сообщение об ошибке, в котором говорится, что мои данные не соответствуют формату. Не уверен, что это ошибка или я что-то здесь упускаю. Я имею в виду эту документацию для формата строки. Странная часть в том, что если я записываю Dataframe 'data' в csv и читаю его, затем вызываю функцию, расположенную ниже, она преобразует дату, поэтому я не уверен, почему она не работает без записи в csv.
Есть идеи?
data['Date'] = pd.to_datetime(data['Date'], format='%d-%b-%Y')
Я получаю две ошибки
TypeError: Unrecognized value type: <class 'str'>
ValueError: time data '27‑Aug‑2018' does not match format '%d-%b-%Y' (match)
Пример даты -
2‑Jul‑2018
27‑Aug‑2018
28‑May‑2018
19‑Jun‑2017
5‑Mar‑2018
15‑Jan‑2018
11‑Nov‑2013
23‑Nov‑2015
23‑Jun‑2014
18‑Jun‑2018
30‑Apr‑2018
14‑May‑2018
16‑Apr‑2018
26‑Feb‑2018
19‑Mar‑2018
29‑Jun‑2015
Это потому, что все они не двузначные дни? Каково значение формата строки для дней с одной цифрой? Похоже, что это может быть причиной, но я не уверен, почему это будет ошибка на «27», хотя.
Конечное решение (это был Unicode, а не строка) -
data['Date'] = data['Date'].apply(unidecode.unidecode)
data['Date'] = data['Date'].apply(lambda x: x.replace("-", "/"))
data['Date'] = pd.to_datetime(data['Date'], format="%d/%b/%Y")