To check for letters you can use the pandas.Series.str.contains
passing as parameter to search a Regexp like r'[a-zA-Z]'
to create a truth table where letters are found.
And to check the quantity of dimensions you can count the occurrence of spaces pandas.Series.str.count
Ex.:
import pandas as pd
dados = {
"Código": [1623,5124,4785,5251,1578,9684,5187, 111, 222, 333, 444, 555 ],
"Dimensões":["10 15 7", "15 7 8", "20 15 8",
"50 70 22", "c10 l20", "50 10 2",
"75 20 10", "10 cl20", "1c0 l20", "111 212", "111 22 33", "11 22 33 44"],
}
# Criar o DataFrame
df = pd.DataFrame( dados )
# Criar uma TABELA VERDADE para selecionar
# as linhas que contem letras na coluna 'Dimensões'
com_letras = df['Dimensões'].str.contains(r'[A-Za-z]')
print( "# tabela verdade de linhas que contem letras na coluna 'Dimensões':" )
print( com_letras )
print( "\n")
print( "# df de linhas COM letras na coluna 'Dimensões':")
print( df[ com_letras ] )
print( "\n")
# Criar uma TABELA VERDADE para selecionar
# as linhas não tem 2 espaços na coluna 'Dimensões':
dif_2espacos = df['Dimensões'].str.count(' ') != 2
print( "# tabela verdade de linhas não tem 2 espaços na coluna 'Dimensões':")
print(dif_2espacos)
print( "\n")
print( "# df de linhas não tem 2 espaços na coluna 'Dimensões':")
print(df[ dif_2espacos ])
print( "\n")
# Agora você pode utilizar bitwise `~` (NOT)
# para negar uma TABELA VERDADE e dessa forma
# transformar quem é TRUE em FALSE e vice-versa
# e depois bitwise `&` (AND) onde ambas tabelas
# sejam verdadeiras, ou seja:
# sem_letras = ~com_letras
# tem_2espacos = ~dif_2espacos
# sem_letras_E_tem_2espacos = sem_letras & tem_2espacos
# df = df[ sem_letras_E_tem_2espacos ].copy()
df = df[ ~tem_letras & ~dif_2espacos ].copy()
print("# df de linhas ( SEM letras AND COM 2 espacos ) na coluna 'Dimensões' :")
print(df)
Online Example - ideone
TL;DR;
df[ ~df['Dimensões'].str.contains(r'[A-Za-z]') &\
(df['Dimensões'].str.count(' ') == 2) ]
Online Example - ideone
What you tried to do to solve and was the problem found?
– Augusto Vasques