Pandas Python: Удалить строки DF с буквами ASCII
У меня есть столбец в моем фрейме данных, который я хотел бы преобразовать в тип данных int. Однако это вызывает ошибку, потому что некоторые строки имеют буквы в своих записях. Я хотел бы создать новый фрейм данных, который имеет только записи в этом столбце с чисто числовыми записями (или, по крайней мере, без букв).
Итак, мой вопрос: есть ли способ сделать что-то вроде следующего,
df=df[df['addzip'].str.contains("a")==False]
Но со списком, где находится "а"? Смотрите пример ниже,
df=df[df['addzip'].str.contains(list(str(string.ascii_lowercase)+str(string.ascii_uppercase)))==False]
Я знаю, что это очень возможно сделать с помощью команды apply, но я хотел бы сохранить это как можно более векторизованным, так что это не то, что я ищу. До сих пор я не нашел ни одного решения по переполнению стека.
1 ответ
Решение
Просто используйте регулярное выражение
df = df[~df['addzip'].str.contains("[a-zA-Z]").fillna(False)]