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

时间:2015-01-30 22:10:27

标签: python pandas dataframe contains letters

我的数据框中有一个列,我想将其转换为数据类型int。但是它会抛出一个错误,因为有些行的条目中有字母。我想创建一个新的数据框,该数据框在此列中只有纯数字条目(或至少没有字母)的条目。

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

df=df[df['addzip'].str.contains("a")==False]

但是有一个列表,其中" a"是什么?请参阅下面的示例

df=df[df['addzip'].str.contains(list(str(string.ascii_lowercase)+str(string.ascii_uppercase)))==False]

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

1 个答案:

答案 0 :(得分:5)

只需使用正则表达式

df = df[~df['addzip'].str.contains("[a-zA-Z]").fillna(False)]