我目前正在使用两台不同的计算机,但在两台计算机上运行完全相同的代码会导致生成两台计算机之一:
ValueError: cannot create timedelta string converter for [-1 days +23:05:00.000000000]
错误是由命令引起的:
df_gt["Duration"] = pd.to_timedelta(df_gt[ "Duration"])
df由csv导入通过:
创建df_gt = pd.read_csv(gt_data, sep='\t', header=(0))
首先,我认为错误是由负数引起的。我在过去看到了负数的问题,但这在其他计算机上应该是同样的问题。
然后,我想知道它是否可能是由于生成其他格式的计算机上的不同csv / time设置引起的,但是在打印该值时,我得到完全相同的格式(至少通过目视检查)。我仍然认为问题出在这个领域的某个地方,但我不确定其他计算机如何影响这个内部代码。
一些硬件信息:
一切正常的计算机运行Windows 10 Home,并使用Pycharm Professional 2017.1。另一个是运行Windows 7 Professional sp 1并使用Spyder 2.3.1。代码在Python 3中。
提前致谢,
杰夫
修改
在最初的问题中仍有
.total_seconds()
附在命令上,这是错误的。 (只是我自己试图解决这个问题)
答案 0 :(得分:2)
可能需要.dt
:
df_gt["Duration"] = pd.to_timedelta(df_gt[ "Duration"]).dt.total_seconds()
似乎是不同版本的熊猫,所以最老的版本是错误的。
版本0.14.1
已发布July 11 2014。
版本0.20.1
已发布May 5 2017。