熊猫Python:删除具有ASCII字母的DF行

sfo*_*ney 3 python contains letters dataframe pandas

我在数据框中有一列想要转换为int数据类型。但是,由于某些行的条目中有字母,因此会引发错误。我想创建一个新的数据框,在此列中仅包含纯数字条目(或至少没有字母)的条目。

所以我的问题是:有没有办法做下面的事情,

df=df[df['addzip'].str.contains("a")==False]
Run Code Online (Sandbox Code Playgroud)

但是带有“ a”的列表?请参见下面的示例,

df=df[df['addzip'].str.contains(list(str(string.ascii_lowercase)+str(string.ascii_uppercase)))==False]
Run Code Online (Sandbox Code Playgroud)

我知道这很可能与apply命令有关,但是我想尽可能将其向量化,所以这不是我想要的。到目前为止,我在堆栈溢出的其他任何地方都没有找到任何解决方案。

Ale*_*lex 5

只需使用正则表达式

df = df[~df['addzip'].str.contains("[a-zA-Z]").fillna(False)]
Run Code Online (Sandbox Code Playgroud)