Как создать новый столбец в фрейме данных со значением другого столбца в этом фрейме данных, но в течение 1 часа

#python #pandas

Вопрос:

У меня есть фрейм данных pandas со столбцами:

  • ID
  • Дата и время
  • Емкость

Я хочу добавить новый столбец в этот фрейм данных с емкостью в течение часа. Например, у меня есть

 ID Datetime           Capacity
1  20200101 12:23:10  435
 

Итак, в новом столбце мне нужна емкость записи ID = 1 и Datetime = 13:23:10

Есть ли инструкция для обработки этого?

Уже спасибо!

Ответ №1:

Вы можете добавить 1 hour в исходный столбец, преобразовать в строки HH:MM:SS , поэтому возможна фильтрация в boolean indexing :

 Datetime = '13:23:10'
ID = 1

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

df = df[(df['Datetime']   pd.Timedelta('1H')).dt.strftime('%H:%M:%S').eq(Datetime) amp; df['ID'].eq(ID)]
print (df)
   ID            Datetime  Capacity
0   1 2020-01-01 12:23:10       43