Pandas: как создать два новых столбца в фрейме данных с существующим столбцом строковых данных

#python #pandas #datetime

#python #pandas #дата и время

Вопрос:

У меня есть дата столбца (строковый тип для каждой строки) в моем фрейме данных, который выглядит следующим образом:

 1      'Sat, 26 Dec 2020 14:05:59  0000'
2      'Sat, 26 Dec 2020 11:01:27  0000'
3      'Sat, 26 Dec 2020 12:43:59  0000'
4      'Sat, 26 Dec 2020 13:24:45  0000'
5      'Sat, 26 Dec 2020 13:37:00 -0000'
 

Я хотел бы создать два новых столбца, подобных этому:

 Date                Hour
'Sat, 26 Dec 2020'   '14:05:59'
'Sat, 26 Dec 2020'   '11:01:27'
 

Как я могу это сделать?
Зная, что в начале тип string .
Я думал о сокращении с помощью len, потому что формат всегда одинаков для каждой строки в начале.
Но, возможно, это не лучший метод.

Ответ №1:

предполагая, что ваше исходное имя столбца — datetime вы можете сделать следующее:

 df['date']=pd.to_datetime(df['datetime']).dt.strftime('%a, %d %b %Y')
df['time']=pd.to_datetime(df['datetime']).dt.strftime('%H:%M:%S')