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

标签 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 家庭版,并使用 Pycharm Professional 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 .

关于python - 为什么 timedelta 命令会在另一台计算机上产生错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45455912/

相关文章:

python - 如何在 Pandas 数据帧切片中使用 apply 来设置多列的值

python - 使用 imshow() 时图像未显示在 Google Colab 中

python - 如何清理 pandas dataframe 中的图像网址?

python - 按列名称为数据框的每一列创建一个数组

python - 比较 pandas 列

python Pandas : Is it possible to convert date Object to DateTimeIndex in multi-index dataframe?

c# - 从 asp 标签中获取 DayOfWeek 值

sql - 如何将分钟添加到日期时间的时间部分

c# - 将以毫秒为单位的日期时间转换为 double 或 int?

python - Python 模块/包名称的 Sphinx apidoc 部分标题