Конвертировать DateTime с 12-часовым AM / PM (без заполнения нулями) в 24-часовой формат - PullRequest
0 голосов
/ 05 апреля 2019

Я хочу иметь возможность сортировать мой фрейм данных в порядке возрастания даты и времени, но формат, который у меня есть, пока не позволяет.

Я пробовал

df2['Date'] = pd.to_datetime(df2['Times'], format='%m/%d/%Y')

df2['Times'] = pd.to_datetime(df2['Times'], format='%H:%M:%S %p')

У меня в настоящее время есть

df2.iloc[:,0:2]


         Date     Times
0    1/2/2018   3:00 AM
1   10/3/2018   3:50 PM
2  10/10/2019  11:14 PM

, и это мой желаемый вывод

         Date  Times
0  01/02/2018  03:00
1  10/03/2018  15:50
2  10/10/2019  23:14

или любой вывод, которыйпозволит мне сортировать по дате.

1 Ответ

0 голосов
/ 05 апреля 2019

Вы близки, основной проблемой было использование %I для часа матча в формате 12h и последнее использование %H для часа в формате 24h, установите флажок http://strftime.org/.Последнее добавление Series.dt.strftime для пользовательского формата вывода:

print (df2)
         Date     Times
0    1/2/2018   3:00 AM
1   10/3/2018   3:50 PM
2  10/10/2019  11:14 PM

df2['Date'] = pd.to_datetime(df2['Date'], format='%m/%d/%Y').dt.strftime('%m/%d/%Y')
df2['Times'] = (pd.to_datetime(df2['Times'].str.strip(), format='%I:%M %p')
                  .dt.strftime('%H:%M'))

print (df2)
         Date  Times
0  01/02/2018  03:00
1  10/03/2018  15:50
2  10/10/2019  23:14
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...