,python,pandas,datetime"/>

首页 > 解决方案 > to_datetime 无法识别的值类型:

问题描述

我正在尝试将“日期”列从字符串转换为日期时间数据类型

“日期”列的示例:

array(['2015-08-26 10:24:48.127', '2015-08-26 10:26:41.000',
       '2015-08-26 10:27:52.000', ..., '2015-08-26 10:18:11.000',
       '2015-08-26 10:21:39.000', '2015-08-26 10:23:05.000'], dtype=object)

尝试转换为日期时间数据类型:从日期列中获取日期组件 YYYY-MM-DD 格式的日期列。

order_items['date']= pd.to_datetime('date', format="%Y-%m-%d")```



However i got the following error:

```TypeError                                 Traceback (most recent call last)
~/opt/anaconda3/lib/python3.8/site-packages/pandas/core/arrays/datetimes.py in objects_to_datetime64ns(data, dayfirst, yearfirst, utc, errors, require_iso8601, allow_object)
   1857         try:
-> 1858             values, tz_parsed = conversion.datetime_to_datetime64(data)
   1859             # If tzaware, these values represent unix timestamps, so we

pandas/_libs/tslibs/conversion.pyx in pandas._libs.tslibs.conversion.datetime_to_datetime64()

TypeError: Unrecognized value type: <class 'str'>```

标签: pythonpandasdatetime

解决方案


您将date文字传递给pd.to_datetime函数,而不是实际日期。

如果你做类似的事情 -

pd.to_datetime('2015-08-26 10:24:48.127', format="%Y-%m-%d")

它应该工作。

或者如果它是数据框中的一列(假设名为 df)

pd.to_datetime(df['date'], format="%Y-%m-%d")

推荐阅读