Преобразование дат менее 1970 года в python с использованием pandas

Я хочу преобразовать даты меньше 1970 года в формат pd.to_datetime, но не могу этого сделать, поскольку любая дата меньше 1970 года преобразуется в новое тысячелетие (›2000).

Я хочу, чтобы даты были преобразованы следующим образом:

15/01/1967 to 1967-01-15
14/01/1968 to 1968-01-14
12/01/1969 to 1969-01-12

Он скорее преобразуется следующим образом, когда я использовал pd.to_datetime().

15/01/1967 to 2067-01-15
14/01/1968 to 2068-01-14
12/01/1969 to 2069-01-12

Я установил значение происхождения в pd.to_datetime равным 1900 (как в документации pandas), но оно не распознает термин происхождение.


person Munakala Lohith    schedule 03.07.2020    source источник
comment
вам разрешено обновлять панды до ›= 1.0.3?   -  person Balaji Ambresh    schedule 03.07.2020
comment
Попахивает попыткой использовать тип данных временной метки unix, где дата представляет собой количество секунд с 1970 года или около того. В этом типе данных нет до 1970 года.   -  person Marek Puchalski    schedule 03.07.2020
comment
Версия на ноутбуке 0.19.2. И я не думаю, что мы можем обновиться. Это блокнот Coursera для выполнения заданий.   -  person Munakala Lohith    schedule 04.07.2020


Ответы (1)


у меня отлично работает, если я укажу определенный формат для pd.to_datetime:

import pandas as pd

s = pd.Series(["15/01/1967", "14/01/1968", "12/01/1969"])

pd.to_datetime(s, format='%d/%m/%Y')

# 0   1967-01-15
# 1   1968-01-14
# 2   1969-01-12
# dtype: datetime64[ns]

pandas 1.0.5 на Python 3.8.2 x64/Windows 10.

person MrFuppes    schedule 05.07.2020
comment
Спасибо. Я пытался использовать происхождение как функцию в pd.to_datetime. - person Munakala Lohith; 06.07.2020