#python #pandas #datetime
#питон #панды #дата и время
Вопрос:
Я хочу преобразовать этот формат времени в фактический формат даты и времени в Python. Ч:Мин:Сек в этом формате. Может ли кто-нибудь подсказать мне, как это сделать, используя панд?
Комментарии:
1. можете ли вы предоставить образец ввода фрейма данных pandas?
Ответ №1:
Функция pandas pd.to_timedelta()
, похоже, довольно хорошо работает на них. Это установит его на временную шкалу, а не на дату и время, но похоже, что вы на самом деле устанавливаете не дату или время, а скорее продолжительность времени; т. Е. временную шкалу.
Сначала вам нужно будет удалить скобки из каждого элемента, а затем просмотреть каждый столбец pd.to_timedelta()
. Что-то подобное должно сработать, что создает новое df2
. Ты мог бы просто отложить это df[col]
, если бы захотел.
for col in df.columns: df2[col] = df[col].str.strip('[]') #removes the [ and ] characters df2[col] = pd.to_timedelta(df2[col])
Это даст вам материал в этом общем стиле timedelta:
0 1 0 0 days 00:10:00 0 days 00:20:00 1 0 days 01:00:00 0 days 03:00:00
Оттуда вы можете поработать с форматом по мере необходимости для того, что конкретно вам нужно.
Ответ №2:
Проще удалить квадратные скобки, так как они зарезервированы для дополнительных деталей (лично я не нашел способа избежать их).:
pd.to_timedelta(df['x'].str.strip('[ ]'))