2014-10-09 256 views
0

我有以下的一列DataFramedf無法過濾DataFrame中的值。 NaN的輸出

timestamp       values 
2014-10-06 18:00:37.400000-04:00 0.000000  
2014-10-06 18:00:39.600000-04:00 0.000000  
2014-10-06 18:00:41.800000-04:00 2.683493  
2014-10-06 18:00:44-04:00   1.199321  

當我做df[df>0]我得到:

timestamp       values 
2014-10-06 18:00:37.400000-04:00 NaN   
2014-10-06 18:00:39.600000-04:00 NaN   
2014-10-06 18:00:41.800000-04:00 2.683493  
2014-10-06 18:00:44-04:00   1.199321  

,而我希望只得到:

timestamp       values 
2014-10-06 18:00:41.800000-04:00 2.683493  
2014-10-06 18:00:44-04:00   1.199321  

這是預期嗎?我知道我可以在這個輸出上應用dropna(),但是上面已經不應該過濾出我要求的值了嗎? (它通常在數據幀上工作,不需要撥打dropna

+0

'.dropna(how =「any」)'? – 2014-10-09 00:54:16

+0

你有什麼版本的熊貓?你能做一個完全可重複的例子嗎?你期望的結果確實是它應該是的。 – joris 2014-10-09 07:16:35

+0

啊,你沒有*系列*,而是*數據框*。在這種情況下,輸出是合乎邏輯的,@Primer的答案是正確的解決方案。 – joris 2014-10-09 12:11:33

回答

2

ts[ts['values']>0]應該產生您正在查找的輸出。

不知道爲什麼,但沒有NaN的輸出需要指定列。 我沒有找到一種方法來擺脫整個數據幀時除去NaNs,除了.dropna()