Python Pandas Dataframe 过滤器不起作用

Bry*_*ing 5 python dataframe pandas

我有一个名为 df 的 Pandas 数据框,其内容如下:

    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
Run Code Online (Sandbox Code Playgroud)

我使用以下 Python 代码:

df2 = df[df.Beta > 0]
Run Code Online (Sandbox Code Playgroud)

生成的 df2 不会过滤掉 Beta 的 0 值,这意味着它保持等于 df。我该如何解决?谢谢

jez*_*ael 3

我认为你可以尝试强制转换float-astype看起来dtypeBetaobject(那么type显然是string):

df2 = df[df.Beta.astype(float) > 0]
Run Code Online (Sandbox Code Playgroud)