Как преобразовать столбец даты и времени фрейма данных pandas в int? - PullRequest
0 голосов
/ 22 декабря 2018

У меня возникла проблема при преобразовании одного из моих datetime столбцов в в int. Мой код:

df['datetime_column'].astype(np.int64)

я получаю ошибку:

неверный литерал для int () с основанием 10: '2018-02-25 09: 31: 15'

Я вполнене знаю, что происходит, так как преобразование для некоторых других моих столбцов datetime работает нормально.Есть ли какая-то проблема с диапазоном дат, которые можно преобразовать в int?

Ответы [ 2 ]

0 голосов
/ 22 декабря 2018

Вы бы использовали

df['datetime_colum'].apply(lambda x:x.toordinal())

Если это не удастся, причиной может быть то, что ваш столбец является объектом, а не датой и временем.Поэтому вам нужно:

df['datetime_colum'] = pd.to_datetime(df['datetime_colum'])

перед отправкой на порядковый номер.

Если вы работаете над проектированием функций, вы можете попробовать создать дни между датами 1 и 2, получить логическое значение, если зима, лето, осень или весна, если смотреть на месяцы и, если у вас есть время, логическое значение, будь то утро, полдень или ночь, но все это зависит от вашей проблемы с обучением машин.

0 голосов
/ 22 декабря 2018

Судя по вашему комментарию, вы решили проблему самостоятельно.Я предполагаю, что вы создали фрейм данных, не указав, что столбец должен читаться как что-либо, кроме строки, поэтому это строка.Если я прав, и вы проверяете тип столбца, он должен отображаться как объект.Если вы проверяете отдельную запись в столбце, она должна отображаться в виде строки.

Если проблема в чем-то другом, пожалуйста, следуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...