【问题标题】:Pandas to_datetime assertion error is throwing an errorPandas to_datetime 断言错误正在抛出错误
【发布时间】:2019-04-19 21:37:27
【问题描述】:

将字符串格式的日期转换为日期时间格式时,我的 python 抛出了一个断言错误。这在“read_csv”中用作转换器。

例如,我的数据如下所示:"01-SEP-18 01.30.30.000000 AM"

据我所知,格式应该如下。这不是我的确切代码,但我包含了字符串而不是表达我的转换器。我知道 to_datetime 比较聪明,尝试不使用格式只是收到类似/相同的错误。

pn.to_datetime('01-SEP-18 01.30.30.000000 AM','%d-%b-%y %I.%M.%S.%f %p')
pn.to_datetime('01-SEP-18 01.30.30.000000 AM')


Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\tools\datetimes.py", line 469, in to_datetime
    result = _convert_listlike(np.array([arg]), box, format)[0]
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\tools\datetimes.py", line 368, in _convert_listlike
    require_iso8601=require_iso8601
  File "pandas\_libs\tslib.pyx", line 492, in pandas._libs.tslib.array_to_datetime
  File "pandas\_libs\tslib.pyx", line 513, in pandas._libs.tslib.array_to_datetime

AssertionError

【问题讨论】:

    标签: python pandas datetime format assertion


    【解决方案1】:

    你是对的 - 你传递的格式不是一个参数,而是一个关键字参数,所以它需要被指定为格式。这应该会得到你需要的结果(假设 pandas 被导入为 pn):

    pn.to_datetime('01-SEP-18 01.30.30.000000 AM', format='%d-%b-%y %I.%M.%S.%f %p')
    

    【讨论】:

      【解决方案2】:
      import pandas as pd
      pd.to_datetime('01-SEP-18 01.30.30.000000 AM',format='%d-%b-%y %I.%M.%S.%f %p')
      

      【讨论】:

      • 它会帮助 OP 和其他人,在未来找到这个答案,如果你能包含一个解释,讨论你正在做的不同之处以及它为什么起作用。
      猜你喜欢
      • 2020-07-08
      • 2020-02-29
      • 2023-02-10
      • 1970-01-01
      • 2018-10-07
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      相关资源
      最近更新 更多