2017-08-02 58 views
3

我目前工作在兩個不同的計算機上,但在兩臺計算機上運行完全相同的代碼導致在兩臺計算機生成的一個:爲什麼timedelta命令在其他計算機上創建錯誤?

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

ValueError: cannot create timedelta string converter for [-1 days +23:05:00.000000000] 

的錯誤是由命令引起的

並通過CSV導入通過創建DF:

df_gt = pd.read_csv(gt_data, sep='\t', header=(0)) 

首先,我認爲錯誤是由負數所致。過去我曾看到過負數的問題,但這在其他計算機上應該是同樣的問題。

然後,我想知道這是否可能是由此計算機上生成其他格式的不同csv/time設置引起的,但是當打印該值時,我會得到完全相同的格式(至少通過目視檢查)。我仍然認爲問題在這個領域的某個地方,但我不確定其他計算機如何影響這個內部代碼。

一些硬件信息:

上一切正常運行的是Windows 10家,並使用Pycharm專業2017.1計算機。另一個運行Windows 7 Professional sp 1並使用Spyder 2.3.1。該代碼是在Python 3

在此先感謝,

傑夫

編輯:

在原來的問題仍有

.total_seconds() 

連接到命令,這是錯誤的。 (只是通過我自己的努力來解決這個)

+0

兩臺PC的pandas版本是否有所不同? 'print(pd.show_versions())' – jezrael

+0

是的,不工作的那個運行0.14.1,工作的運行0.20.1。這些版本之間是否有重大區別?遺憾的是,由於公司規定我不能升級老大熊貓 – jeff

+0

我覺得有問題,因爲3年是在積極開發軟件的巨大差異。所以嘗試升級以消除所有問題。 – jezrael

回答

2

也許需要.dt

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

似乎不同版本的熊貓,所以oldiest版本是馬車。

版本0.14.1被釋放July 11 2014

版本0.20.1已發佈May 5 2017

+0

謝謝,這將意味着如果我不能更新我的熊貓,那麼我將無法解決這個問題? – jeff

+0

我很擔心這是錯誤,所以它是真的問題:(我看到另一個問題 - 如果你改變你的代碼出於某種原因,在舊版本如果再次失敗另一個錯誤或不實施功能:( – jezrael

+1

是的,我看到你的點。那麼,我會回去在個人電腦上工作,不幸的是,沒有其他辦法。 – jeff

相關問題