2016-12-02 50 views
1

我有一個熊貓數據框具有以下內容稱爲DF:Python的熊貓數據幀過濾器不工作

Symbol      Cat   Beta Eps MktCap 
2350 FBP Foreign Regional Banks   0 0  0 
2351 FNBC Foreign Regional Banks   0 0  0 
2353 BSBR Foreign Regional Banks   0 0  0 
2354 BBD Foreign Regional Banks   0 0  0 
2355 HDB Foreign Regional Banks   0 0  0 
2356 BCH Foreign Regional Banks   0 0  0 
2358  WF Foreign Regional Banks   0 0 None 
2359 SMFG Foreign Regional Banks   0 0 None 
2360 BFR Foreign Regional Banks   0 0  0 
2361 BCA Foreign Regional Banks   0 0  0 
2362 BPOP Foreign Regional Banks   0 0 None 
2363 CIB Foreign Regional Banks   0 0  0 
2364 ITUB Foreign Regional Banks   0 0  0 
2365 BMA Foreign Regional Banks   0 0  0 
2366  KB Foreign Regional Banks   0 0 None 
2367 BBDO Foreign Regional Banks   0 0  0 
2368 BSMX Foreign Regional Banks   0 0 None 
2369 BBVA Foreign Regional Banks   0 0 None 
2370 SHG Foreign Regional Banks   0 0  0 
2352  DB Foreign Regional Banks   1.08 0  0 
2357 MFG Foreign Regional Banks 6.101694915 0 None 

我用下面的Python代碼:

df2 = df[df.Beta > 0] 

產生的DF2不濾除Beta的0值表示它保持等於df。我該如何解決? 感謝

+0

它的工作對我來說。 「Beta」的數據類型是什麼?當我使用'read_clipboard()'讀取數據幀時,該列被賦予'float'格式,並且它正常工作。 – Khris

回答

1

我想你可以通過astype嘗試投地float - 似乎Betadtypeobject(當時type顯然是string):

df2 = df[df.Beta.astype(float) > 0] 
+1

我可能投到int - 比較花車將是iffy充其量。特別是如果一些值接近零或是計算的結果 –

+0

我不確定這是否是個好主意,因爲四捨五入問題。 – jezrael

+0

謝謝@jezreal,因爲它工作正常 –