Выполнить:
df[~df.apply(lambda row: row.str.contains(r'[A-Z]', flags=re.I).any(), axis=1)]
( требуется импорт ).
Ваше регулярное выражение содержит [AB] , но оно должно совпадать все буквы (от A до Z ).
Редактировать
Если у вас также есть другие столбцы, но вы хотите ограничить свой критерий только 3 указанными столбцами, предполагая, что они являются последовательными столбцами, запустите:
df[~df.loc[:, 'col1':'col3'].apply(lambda row:
row.str.contains(r'[A-Z]', flags=re.I).any(), axis=1)]
Таким образом, вы примените ту же функцию, что и выше, к только эти 3 столбца.