为什么 timedelta 命令会在另一台计算机上产生错误?

Why is does a timedelta command create an error on a different computer?

我目前正在两台不同的计算机上工作,但是 运行 两台计算机上的完全相同的代码导致两台计算机中的一台生成:

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 设置导致生成其他格式,但是当打印值时,我得到完全相同的格式(至少通过目视检查)。我仍然认为问题出在这个域的某个地方,但我不确定其他计算机如何影响这个内部代码。

一些硬件信息:

一切正常的电脑是运行Windows10 Home,使用PycharmProfessional 2017.1。另一个是 运行 Windows 7 Professional sp 1 并使用 Spyder 2.3.1。代码在 Python 3.

提前致谢,

杰夫

编辑:

原题中还有

.total_seconds()

附加到命令,这是错误的。 (只是我自己尝试解决这个问题)

可能需要 .dt:

df_gt["Duration"] = pd.to_timedelta(df_gt[ "Duration"]).dt.total_seconds()

似乎 pandas 的不同版本,所以最旧的版本有问题。

版本 0.14.1 已发布 July 11 2014

版本 0.20.1 已发布 May 5 2017