Преобразование Twitter created_at в datetime не работает

Я работаю над проектом по анализу твитов и сначала пытаюсь преобразовать столбец 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)

Я продолжаю получать следующую ошибкуПреобразование Twitter created_at в datetime не работает

Я учусь на очень вводном и рудиментарном курсе по анализу Твиттера, поэтому я совсем не эксперт по программированию. Раньше я выполнял домашние задания, где эта строка кода работала, поэтому я не уверен, в чем ошибка сейчас.

Я работаю в Colab, и вот полная информация: https://colab.research.google.com/drive/1XXJsoMQouzH-1t7eWRd1c-fsrI3vYFcf?usp=sharing.

Благодарю вас!

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
25
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

попробуй это :

format_y = "%Y-%m-%d %H:%M:%S"
pd.to_datetime(date, format = format_y).tz_localize(None)

Та же ошибка извините :(

yorkminster 07.05.2022 21:20

У меня не было этой ошибки при попытке, так что, возможно, это проблема версии

DataSciRookie 07.05.2022 21:49
Ответ принят как подходящий

Убедитесь, что все значения в столбце '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)

Другие вопросы по теме