【问题标题】:Tried to convert to datetime and "ValueError : if data cannot be converted to datetimes"尝试转换为日期时间和“ValueError:如果数据无法转换为日期时间”
【发布时间】:2020-08-18 17:14:08
【问题描述】:

我正在尝试使用以下方法将 pandas.core.series.Series 对象类型转换为 datetime

pd.to_datetime(list(stops_data['arrival_time']),'%HH%MM%SS')

但是python正在抛出这个:

---------------------------------------------------------------------------
Traceback (most recent call last)
<ipython-input-51-c92e51656d69> in <module>
----> 1 pd.to_datetime(list(stops_data['arrival_time']),'%HH%MM%SS')

/home/BLABLA/snap/jupyter/common/lib/python3.7/site-packages/pandas/core/tools/datetimes.py in to_datetime(arg, errors, dayfirst, yearfirst, utc, format, exact, unit, infer_datetime_format, origin, cache)
    739     elif is_list_like(arg):
    740         try:
--> 741             cache_array = _maybe_cache(arg, format, cache, convert_listlike)
    742         except tslibs.OutOfBoundsDatetime:
    743             # caching attempts to create a DatetimeIndex, which may raise

/home/BLABLA/snap/jupyter/common/lib/python3.7/site-packages/pandas/core/tools/datetimes.py in _maybe_cache(arg, format, cache, convert_listlike)
    150         unique_dates = unique(arg)
    151         if len(unique_dates) < len(arg):
--> 152             cache_dates = convert_listlike(unique_dates, format)
    153             cache_array = Series(cache_dates, index=unique_dates)
    154     return cache_array

/home/BLABLA/snap/jupyter/common/lib/python3.7/site-packages/pandas/core/tools/datetimes.py in _convert_listlike_datetimes(arg, format, name, tz, unit, errors, infer_datetime_format, dayfirst, yearfirst, exact)
    445             errors=errors,
    446             require_iso8601=require_iso8601,
--> 447             allow_object=True,
    448         )
    449 

/home/BLABLA/snap/jupyter/common/lib/python3.7/site-packages/pandas/core/arrays/datetimes.py in objects_to_datetime64ns(data, dayfirst, yearfirst, utc, errors, require_iso8601, allow_object)
   1838     ValueError : if data cannot be converted to datetimes
   1839     """
-> 1840     assert errors in ["raise", "ignore", "coerce"]
   1841 
   1842     # if str-dtype, convert

AssertionError:

上下文,以防我的前提是错误的: 我试图在计划间隔 (HH:MM:SS) 中查找时间列表 (HH:MM:SS) 的出现,所以我使用numpy.digitize。为此,我必须创建两个 numpy 数组,但它给了我这个错误TypeError: Cannot cast array data from dtype('&lt;U13') to dtype('float64') according to the rule 'safe',所以我尝试将数据转换为我真正需要的数据类型。

编辑:我没有解决这个问题。我设法将所有时间都转换为整数并且运行良好,但我仍然想知道这个错误是什么意思。谢谢!

【问题讨论】:

  • 请提供minimal reproducible example我正在尝试将 pandas.core.series.Series 对象类型转换为 datetime 你指的是什么日期时间类型?

标签: python pandas


【解决方案1】:

它应该像

pd.to_datetime(stops_data['arrival_time'])

查看this answer了解更多信息。

【讨论】:

    猜你喜欢
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 2020-10-03
    相关资源
    最近更新 更多