pandas to_datetime получает разные годы с параметром #format или нет - PullRequest
0 голосов
/ 07 марта 2020

Без параметров формата:

pd.to_datetime(1)

вывод:

Timestamp('1970-01-01 00:00:00.000000001')

С параметром формата:

pd.to_datetime(1, format="%H")

вывод:

Timestamp('1900-01-01 01:00:00')

Первый выходной год - 1970, а второй выходной - 1900.

Кто-нибудь знает почему?

1 Ответ

0 голосов
/ 07 марта 2020

Потому что, если вы передадите строку форматирования параметру format, pandas.to_datetime() будет следовать стандартным поведениям Python strftime и strptime. Пожалуйста, смотрите Python документацию здесь .

Там написано

Для метода класса datetime.strptime() значение по умолчанию - 1900-01-01T00: 00 : 00.000: любые компоненты, не указанные в строке формата, будут извлечены из значения по умолчанию.

format параметр имеет None в качестве значения по умолчанию, а параметр origin принимает 'unix' в качестве значения по умолчанию. Когда вы оставите эти два параметра по умолчанию, для источника будет установлено значение 1970-01-01.

...