Как столбец с типом Timestamp преобразовать в дату?
Есть датасет, в котором признак - это дата в формате timestamp:
Out[9]:
userjd timestamp
197 313 1491144981
319 20 1491180276
183 468 1491138897
453 427 1491208997
323 72 1491181163
Хочу преобразовать в дату.
Пробую так:
train_full['timestamp'] = pd.Timestamp.to_datetime(train_full['timestamp'])
Получаю ошибку:
AttributeError: type object 'Timestamp' has no attribute 'to_datetime'
Хотя в документации Pandas есть такое.
Ответы (3 шт):
Автор решения: CrazyElf
→ Ссылка
У вас по ссылке же функция называется to_pydatetime, а не to_datetime
Автор решения: MaxU
→ Ссылка
Чтобы преобразовать UNIX epoch / timestamp в datetime64:
df["date"] = pd.to_datetime(df["timestamp"], unit="s")
результат:
In [31]: df
Out[31]:
user_id timestamp date
0 313 1491144981 2017-04-02 14:56:21
1 20 1491180276 2017-04-03 00:44:36
Автор решения: Viktor Andriichuk
→ Ссылка
Все. Разобрался.
Изначально еще раз загрузил df. В нем дата, которая внешне была в timestamp, хранилась в виде int64.
Применил df['created'] = pd.to_datetime(df['timestamp'],unit='s')
Создалась колонка и значение для 1491207064 - 2017-04-03 08:11:04 (то есть корректно). Тип данных при этом datetime64[ns].