为什么 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。
我目前正在两台不同的计算机上工作,但是 运行 两台计算机上的完全相同的代码导致两台计算机中的一台生成:
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。