2014-05-04 22 views
1

是否有一些錯誤,我正在做或者它是熊貓內部還是Quandl內部的錯誤?Python Pandas:無法解釋的NaN值

Is there some error that I am doing or is it a fault within pandas or perhaps Quandl?

+0

我沒有NaNs時,我轉載它。也許嘗試:'quandl_gold_fridays ['Round'] =(quandl_gold_fridays ['Close']/23).astype(int)'這是向量化等價於你想要做的。 –

+1

只需將代碼複製/粘貼到您的問題中即可。該鏈接有可能會腐爛一天。 –

回答

0

我敢肯定,問題是出在下面一行:您所使用quandl_gold在右側,而不是quandl_gold_fridays

quandl_gold_fridays['Round'] = quandl_gold['Close'].apply(lambda x: int(float(x)/23)) 

通知。與您的NaN相對應的日期是2014年4月18日,即星期五(即市場關閉)。在該日期的quandl_gold中沒有相應的值供lambda使用,所以它會通過NaN。

爲了說明這一點,嘗試加入的小區,其下面的代碼:

import pandas as pd 

x = pd.merge(left=quandl_gold.loc[:, ['Close']], 
      right=quandl_gold_fridays.loc[:, ['Close','Round']], 
      left_index=True, 
      right_index=True, 
      how='right') 
x.tail(10) 

您將在「Close_x」欄中注意到NaN的。