我嘗試使用interpolate()
方法在我的DataFrame中內插NaN。但是,該方法失敗,出現錯誤:即使大部分數據都已填充,也不能插入數據幀
不能插值所有NaN。
下面的代碼:
try:
df3.interpolate(method='index', inplace=True)
processor._arma(df3['TCA'])
except Exception, e:
sys.stderr.write('%s: [%s] %s\n' % (time.strftime("%Y-%m-%d %H:%M:%S"), nid3, e))
sys.stderr.write('%s: [%s] len=%d\n' % (time.strftime("%Y-%m-%d %H:%M:%S"), nid3, len(df3.index)))
sys.stderr.write('%s: [%s] %s\n' % (time.strftime("%Y-%m-%d %H:%M:%S"), nid3, df3.to_string()))
這是奇怪的,因爲大部分數據已經填滿,你可以在日誌1個或日誌2看到。數據幀的長度爲20,如下所示的所有數據。即使每個單元格被填充,我仍然不能使用插值方法。順便說一下,df3
是一個全球價值,我不知道這是否會是一個問題。
日誌1個
2016-01-21 22:06:11: [ESIG_node_003_400585511] Cannot interpolate with all NaNs.
2016-01-21 22:06:11: [ESIG_node_003_400585511] len=20
2016-01-21 22:06:11: [ESIG_node_003_400585511]
TCA TCB TCC
2016-01-21 20:06:22 19 17 18
2016-01-21 20:06:23 19 17 18
2016-01-21 20:06:24 18 18 18
2016-01-21 20:06:25 18 17 18
2016-01-21 20:06:26 18 18 18
2016-01-21 20:06:27 19 18 18
2016-01-21 20:06:28 19 17 18
2016-01-21 20:06:29 18 18 18
2016-01-21 20:06:30 18 17 18
2016-01-21 20:06:31 19 17 18
2016-01-21 20:06:32 18 17 18
2016-01-21 20:06:33 18 18 18
2016-01-21 20:06:34 19 18 18
2016-01-21 20:06:35 18 17 18
2016-01-21 20:06:36 19 18 18
2016-01-21 20:06:37 18 18 18
2016-01-21 20:06:38 18 18 18
2016-01-21 20:06:39 19 18 18
2016-01-21 20:06:40 18 17 18
2016-01-21 20:06:41 18 18 18
日誌2
2016-01-21 22:06:14: [ESIG_node_003_400585511] Cannot interpolate with all NaNs.
2016-01-21 22:06:14: [ESIG_node_003_400585511] len=20
2016-01-21 22:06:14: [ESIG_node_003_400585511]
TCA TCB TCC
2016-01-21 20:06:33 18 18 18
2016-01-21 20:06:34 19 18 18
2016-01-21 20:06:35 18 17 18
2016-01-21 20:06:36 19 18 18
2016-01-21 20:06:37 18 18 18
2016-01-21 20:06:38 18 18 18
2016-01-21 20:06:39 19 18 18
2016-01-21 20:06:40 18 17 18
2016-01-21 20:06:41 18 18 18
2016-01-21 20:06:42 NaN NaN NaN
2016-01-21 20:06:43 NaN NaN NaN
2016-01-21 20:06:44 NaN NaN NaN
2016-01-21 20:06:45 NaN NaN NaN
2016-01-21 20:06:46 19 18 18
2016-01-21 20:06:47 18 17 18
2016-01-21 20:06:48 18 18 18
2016-01-21 20:06:49 19 18 18
2016-01-21 20:06:50 18 17 18
2016-01-21 20:06:51 18 18 18
2016-01-21 20:06:52 19 17 18
您確定'method = index'可以在第一列的日期 - 時間值上工作嗎? – Evert
我試過'method ='index'','method ='time''或者沒有方法。它們都不起作用。 –
但'method = time'不可能在其他列上工作。你是否嘗試了逐列,看看哪些作品,哪些沒有? – Evert