Конвертируйте int в правильный формат - PullRequest
0 голосов
/ 27 февраля 2019

Я относительно новичок в Python

У меня есть столбец данных, который представляет время дня - но в целочисленном формате ччмм - то есть 1230, 1559.

Я понимаю, что это должно быть преобразовано в правильный формат времени, чтобы его можно было использовать правильно.

Я потратил некоторое время, пытаясь найти ответ, но не нашел окончательного решения.

Спасибо

1 Ответ

0 голосов
/ 27 февраля 2019

Если нужны даты и время, также необходимы date с функцией to_datetime, для времен добавьте dt.time.

Другим решением является преобразование значений timedeltas - но необходим формат HH:MM:SS:

df = pd.DataFrame({'col':[1230,1559]})

df['date'] = pd.to_datetime(df['col'], format='%H%M')
df['time'] = pd.to_datetime(df['col'], format='%H%M').dt.time

s = df['col'].astype(str)
df['td'] = pd.to_timedelta(s.str[:2] + ':' + s.str[2:] + ':00')
print (df)
    col                date      time       td
0  1230 1900-01-01 12:30:00  12:30:00 12:30:00
1  1559 1900-01-01 15:59:00  15:59:00 15:59:00

print (df.dtypes)
col               int64
date     datetime64[ns]
time             object
td      timedelta64[ns]
dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...