Pandas pd.to_datetime返回TypeError:<class'type'>不可转换为datetime

2024-06-01 02:16:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用以下方法从Windows计算机中的文件中获取时间信息:

{"filecreatedatetime_utc": etest_file_Pobj.stat().st_ctime_ns,
"fileupdatedatetime_utc": etest_file_Pobj.stat().st_mtime_ns}

然后,我运行了Pandas pd.todatetime,并尝试使用以下方法确保它处于UTC:

filemeta_df[["filecreatedatetime_utc"]] = filemeta_df[["filecreatedatetime_utc"]].apply(pd.to_datetime(arg=int,utc=True))
filemeta_df[["fileupdatedatetime_utc"]] = filemeta_df[["fileupdatedatetime_utc"]].apply(pd.to_datetime(arg=int,utc=True))

但是,这给了我以下错误:

 File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\arrays\datetimes.py", line 1854, in objects_to_datetime64ns
        require_iso8601=require_iso8601,
      File "pandas\_libs\tslib.pyx", line 481, in pandas._libs.tslib.array_to_datetime
      File "pandas\_libs\tslib.pyx", line 703, in pandas._libs.tslib.array_to_datetime
      File "pandas\_libs\tslib.pyx", line 841, in pandas._libs.tslib.array_to_datetime_object
      File "pandas\_libs\tslib.pyx", line 676, in pandas._libs.tslib.array_to_datetime
TypeError: <class 'type'> is not convertible to datetime

为什么会这样?ctime_ns是一个整数。在datemtime中,它表示可以取整数


Tags: toinpandasdfdatetimelinearraylibs
1条回答
网友
1楼 · 发布于 2024-06-01 02:16:05

问题在于:

pd.to_datetime(arg=int,utc=True)

您实际上是在将int类型传递到to_datetime。在文档中,arg是要转换为日期时间的对象

您可能需要以下内容:

pd.to_datetime(filemeta_df["filecreatedatetime_utc"], utc=True)

即,将整个序列传递到to_datetime

相关问题 更多 >