我的数据框中有一个列,我想将其转换为数据类型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命令有关,但我想尽可能保持这个矢量化,这不是我想要的。到目前为止,我还没有在堆栈溢出的任何其他地方找到任何解决方案。
答案 0 :(得分:5)
只需使用正则表达式
df = df[~df['addzip'].str.contains("[a-zA-Z]").fillna(False)]