在 Pandas 中过滤一列仅包含数值

时间:2021-05-14 13:37:49

标签: python pandas

我有一个数据框,其中一列名为 USER_ID。理想情况下 USER_ID 应该是数字 No 但来自源的数据通常有一些我想在最终数据帧中丢弃的坏记录。例如列中的值如下

DF

<头>
USER_ID
23456
1236
NO_NULL
FBA56X%^

最后的数据帧应该是

DF1

<头>
USER_ID
23456
1236

我用来清理它的代码如下

DF1 = DF[np.isfinite(pd.to_numeric(DF.USER_ID,errors='coerce))]

但似乎这段代码运行不正常。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以使用 isnumeric()filter 数值:

df1 = df.loc[df.USER_ID.str.isnumeric()]