为什么timedelta命令在另一台计算机上创建错误?

时间:2017-08-02 08:48:37

标签: python pandas datetime timedelta

我目前正在使用两台不同的计算机,但在两台计算机上运行完全相同的代码会导致生成两台计算机之一:

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()

附在命令上,这是错误的。 (只是我自己试图解决这个问题)

1 个答案:

答案 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