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)]
Другие вопросы по тегам