Я работаю над проектом по анализу твитов и сначала пытаюсь преобразовать столбец created_at в дату и время.
format = "%Y-%m-%d %H:%M:%S"
df['created_at_datetime'] = pd.to_datetime(df['created_at'], format = format).dt.tz_localize(None)
Я продолжаю получать следующую ошибку
Я учусь на очень вводном и рудиментарном курсе по анализу Твиттера, поэтому я совсем не эксперт по программированию. Раньше я выполнял домашние задания, где эта строка кода работала, поэтому я не уверен, в чем ошибка сейчас.
Я работаю в Colab, и вот полная информация: https://colab.research.google.com/drive/1XXJsoMQouzH-1t7eWRd1c-fsrI3vYFcf?usp=sharing.
Благодарю вас!
попробуй это :
format_y = "%Y-%m-%d %H:%M:%S"
pd.to_datetime(date, format = format_y).tz_localize(None)
У меня не было этой ошибки при попытке, так что, возможно, это проблема версии
Убедитесь, что все значения в столбце 'created_at'
представляют собой метки времени, отформатированные так, как вы ожидаете.
Кажется, что в какой-то строке вместо метки времени может быть строка "en"
.
Вам нужно найти виновное значение, которое не подходит. Вот рабочий процесс:
import pandas as pd
raw_dt_series = pd.Series(['2022-05-05', 'foobar','2022-05-02', '202', None])
raw_dt_series_notna = raw_dt_series.dropna()
dt_series = pd.to_datetime(raw_dt_series_notna, errors='coerce')
Выход:
0 2022-05-05
1 NaT
2 2022-05-02
3 NaT **< - Treated as np.NaN in pandas**
dtype: datetime64[ns]
Вы нашли строки, вызвавшие ошибку типа.
raw_dt_series_notna.loc[dt_series.isna()]
Пришло время выяснить, почему заданные значения не соответствуют формату. После того, как вы узнали, настройте параметр формата:
pd.to_datetime(raw_dt_series, format='%YOUR%NEW%FORMAT)
Та же ошибка извините :(