Я пользователь Stata, который переходит на Python. Это должна быть простая задача, но у меня возникают проблемы с ее выполнением. Мне нужно сгенерировать строковую переменную datetime (объект в Python) для реальной переменной datetime.
data = pd.read_csv("H://01_EXCEL_Reports).csv", sep='\t')
df = pd.DataFrame(data)
print(df["OCCURED_DT"])
print(df["OCCURED_DT"].dtypes)
OCCURED_DT2 = datetime.datetime.strptime(df["OCCURED_DT"], "%Y-%m-%d %H:%M:%S")
Ниже приведен пример моей переменной даты.
2010-06-26 14:50:00
2010-08-09 17:15:00
2018-08-27 08:00:00
Name: OCCURED_DT, Length: 244835, dtype: object
Это ошибка, которую я получаю.
OCCURED_DT2 = datetime.datetime.strptime(df["OCCURED_DT"], "%Y-%m-%d %H:%M:%S")
TypeError: strptime() argument 1 must be str, not Series"
Я попытался на всякий случай преобразовать OCCURED_DT в настоящую строку.
dtstr= str(df["OCCURED_DT"])
OCCURED_DT2 = datetime.datetime.strptime(dtstr, "%Y-%m-%d %H:%M:%S")
Но я все еще получаю сообщение об ошибке.
line 9, in <module>
OCCURED_DT2 = datetime.datetime.strptime(dtstr, "%Y-%m-%d %H:%M:%S")
line 577, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
line 359, in _strptime
(data_string, format))
ValueError: time data '0 2018-08-27 08:00:00\n1 …
Какие-нибудь мысли?
Спасибо! Я изменил код на: OCCURED_DT2 = pd.to_datetime (df ["OCCURED_DT"], format = "% Y-% m-% d% H:% M:% S"), и это сработало. Я не знал, что когда вы импортируете библиотеку pandas, вы не можете использовать основные коды Python. Еще раз спасибо!






Вы смешиваете две библиотеки. Вы используете
pandasи пытаетесь использовать модульdatetimeв стандартной библиотеке. Вы должны использовать метод pandasto_datetime.pandasзначительно отличается от основного Python; это обширная библиотека, ориентированная на научную работу