как заменить секунды на ноль в пандах

1

У меня есть данные в пандах

  code     time
  1        003002
  1        053003
  1        060002
  1        073001
  1        073003

Я хочу создать следующий файл данных в пандах

  code     time        new_time
  1        003002      00:30:00
  1        053003      05:30:00
  1        060002      06:00:00
  1        073001      07:30:00 
  1        073003      07:30:00

Я делаю это со следующим кодом

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

Как я могу сделать это в пандах?

Теги:
pandas

1 ответ

1
Лучший ответ

Используйте Series.dt.floor:

df['time'] = pd.to_datetime(df['time'], format='%H%M%S').dt.floor('T').dt.time

Или удалите последние 2 значения путем индексирования, затем измените формат на %H%M:

df['time'] = pd.to_datetime(df['time'].str[:-2], format='%H%M').dt.time

print (df)
  code      time
0    1  00:30:00
1    1  05:30:00
2    1  06:00:00
3    1  07:30:00
4    1  07:30:00

Ещё вопросы

Сообщество Overcoder
Наверх
Меню