как разделить 0000000 00:00 от времени в столбце pandas

#python #pandas

#python #pandas

Вопрос:

Я пытаюсь удалить 0000000 00:00 из столбца pandas, но я не могу этого сделать, у меня есть столбец фрейма данных, в котором у меня есть время в этом формате ЧЧ: ММ, но вместе со временем 0000000 00:00 появляется дополнительная часть.

У меня есть значения столбцов dataframe в этом формате

 0       19:57:00.0000000 00:00
1       19:57:00.0000000 00:00
2       19:59:00.0000000 00:00
3       21:57:00.0000000 00:00
 

Мне нужно удалить 0000000 00:00 из столбца фрейма данных, я также пробовал это

 dates = pd.to_datetime(df['Duration'], format='%H:%M')
 

это дает остатки необработанных данных: :00.0000000 00:00

Я также пытался разделить его

 df['Duration'].str.split('.')
 

это дает список

 0       [19:57:00, 0000000 00:00]
1       [19:57:00, 0000000 00:00]
2       [19:59:00, 0000000 00:00]
3       [21:57:00, 0000000 00:00]
 

тем не менее, мне нужно преобразовать в часы и минуты, но не удалось этого сделать

Ответ №1:

Вы могли бы попробовать использовать str.replace здесь:

 df['Duration'] = df['Duration'].str.replace('.d  d{2}:d{2}


Ответ №2:

Если длительность типа datetime, то, чтобы сохранить его как тип даты, я предлагаю использовать следующее:

 df['duration']=df['duration'].apply(lambda x:x.date())
 
 df['duration']=df['duration'].apply(lambda x:x.time())
 

, '')

Ответ №2:

Если длительность типа datetime, то, чтобы сохранить его как тип даты, я предлагаю использовать следующее: