2016-01-22 51 views
0
系列

遺漏值我有一個不包含任何NaN的回報的簡單時間序列。但是,當我使用pandas.series.cumsum()時,它會爲系列的大部分返回NaN。我不確定什麼會導致這種行爲。請指教!熊貓cumsum導致NaN的,即使沒有在

log_returns = np.log(prices/prices.shift(1)).dropna() 

enter code here

log_returns.cumsum() 

enter image description here

+0

你有'爲導致'-inf'日誌值中的某些行收益率= 0.0'? – Happy001

+0

這就是我的問題。 Python \ Pandas認爲「value == 0.」的值是否接近零,以產生「-inf」日誌值?這是一個浮點問題嗎? – BCR

+0

@Alexander我試過你的代碼和'log_returns [log_returns == np.nan]'這兩個版本都返回了一個空系列。 – BCR

回答

0

UPDATE:這是一個簡單的數據問題。其中一個價格系列的價格等於零。計算零值時的對數回報產生inf/-inf,其在計算滾動值時產生NaN's

我不得不去詳細到數據集中,看看有什麼問題是,發現一對夫婦-inf潛伏在系列。

enter image description here

我改變了我的代碼,包括行:

cross_section = cross_section[np.isfinite(cross_section)] 

而且擺脫了數據集中的-inf和意外NaN的。

如果有誰知道什麼會導致此請附和,謝謝!

+0

看起來你正在獲取回報的日誌回報!?這應該是價格的對數回報?這將解釋'inf's,因爲必須返回零值。 –

+0

這不是一個錯字。絕對取得了價格系列的日誌回報。我更新了我的問題以反映它。 – BCR

+0

你有零價嗎? log(0)= inf(或-inf) – Alexander