Преобразование целых чисел, представляющих периоды времени, во время в Pandas

#python #pandas #dataframe #datetime

#python #pandas #фрейм данных #дата и время

Вопрос:

У меня есть фрейм данных pandas с периодами времени во втором столбце. Каждый период представляет 30 минут и длится до 48 периодов (24 часа). Есть ли какой-нибудь способ изменить целые числа, представляющие периоды, в формат времени и объединить его со столбцом даты для полного datetime? Например, 1 становится 00:30, 2 становится 01:00, 3 становится 01:30 и так далее.

введите описание изображения здесь

Ответ №1:

Вы можете преобразовать столбец ДАТЫ в datetime и добавить timedelta в 30 минут, умноженное на ПЕРИОД.

 import pandas as pd

df = pd.DataFrame({'DATE':['2015-01-03', '2015-01-03', '2015-01-03'],
                   'PERIOD':[1,2,3]})

df['DATETIME'] = pd.to_datetime(df['DATE'])   df['PERIOD'] * pd.Timedelta(30, unit='min')

# df
#          DATE  PERIOD            DATETIME
# 0  2015-01-03       1 2015-01-03 00:30:00
# 1  2015-01-03       2 2015-01-03 01:00:00
# 2  2015-01-03       3 2015-01-03 01:30:00
  

Комментарии:

1. Спасибо, ты спасатель!