Как отформатировать дату и время в кадре так, как я хочу? - PullRequest
1 голос
/ 07 февраля 2020

Я не могу найти правильный формат для этой даты и времени. Я пробовал несколько форматов, %Y/%m/%d%I:%M:%S%p - самый близкий формат, который я могу найти для примера ниже.

df['datetime'] = '2019-11-13 16:28:05.779'

df['datetime'] = pd.to_datetime(df['datetime'], format="%Y/%m/%d%I:%M:%S%p")

Результат:

ValueError: time data '2019-11-13 16:28:05.779' does not match format '%Y/%m/%d%I:%M:%S%p' (match)

Ответы [ 3 ]

4 голосов
/ 07 февраля 2020

Прежде чем угадать себя, сделайте pandas, сделайте первое предположение

df['datetime'] = pd.to_datetime(df['datetime'], infer_datetime_format=True)
0   2019-11-13 16:28:05.779
Name: datetime, dtype: datetime64[ns]
4 голосов
/ 07 февраля 2020

Вы можете решить эту проблему, используя параметр infer_datetime_format=True. Вот пример:

df = {}
df['datetime'] = '2019-11-13 16:28:05.779'
df['datetime'] = pd.to_datetime(df['datetime'], infer_datetime_format=True)
print(df['datetime'])
print(type(df['datetime'])

Вывод:

2019-11-13 16:28:05.779000
<class 'pandas._libs.tslibs.timestamps.Timestamp'>
0 голосов
/ 08 февраля 2020

Вот вызов pandas.to_datetime() с правильной строкой формата: pd.to_datetime(df['datetime'], format="%Y/%m/%d %H:%M:%S")

Вы пропустили пробел, %I для 12-часового времени (пример, который вы указали, 16:28 и %p означает, что для цитирования документов, эквивалент локали либо AM, либо PM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...