fork(1) download
  1. import pandas as pd
  2.  
  3. dados = {
  4. "Código": [1623,5124,4785,5251,1578,9684,5187, 111, 222, 333, 444, 555 ],
  5. "Dimensões":["10 15 7", "15 7 8", "20 15 8",
  6. "50 70 22", "c10 l20", "50 10 2",
  7. "75 20 10", "10 cl20", "1c0 l20", "111 212", "111 22 33", "11 22 33 44"],
  8. }
  9.  
  10. # Criar o DataFrame
  11. df = pd.DataFrame( dados )
  12.  
  13. # Criar uma TABELA VERDADE para selecionar
  14. # as linhas que contem letras na coluna 'Dimensões'
  15. com_letras = df['Dimensões'].str.contains(r'[A-Za-z]')
  16.  
  17. print( "# tabela verdade de linhas que contem letras na coluna 'Dimensões':" )
  18. print( com_letras )
  19. print( "\n")
  20.  
  21.  
  22. print( "# df de linhas COM letras na coluna 'Dimensões':")
  23. print( df[ com_letras ] )
  24. print( "\n")
  25.  
  26.  
  27. # Criar uma TABELA VERDADE para selecionar
  28. # as linhas não tem 2 espaços na coluna 'Dimensões':
  29. dif_2espacos = df['Dimensões'].str.count(' ') != 2
  30.  
  31. print( "# tabela verdade de linhas não tem 2 espaços na coluna 'Dimensões':")
  32. print(dif_2espacos)
  33. print( "\n")
  34.  
  35.  
  36. print( "# df de linhas não tem 2 espaços na coluna 'Dimensões':")
  37. print(df[ dif_2espacos ])
  38. print( "\n")
  39.  
  40.  
  41. # Agora você pode utilizar bitwise `~` (NOT)
  42. # para negar uma TABELA VERDADE e dessa forma
  43. # transformar quem é TRUE em FALSE e vice-versa
  44. # e depois bitwise `&` (AND) onde ambas tabelas
  45. # sejam verdadeiras, ou seja:
  46. # sem_letras = ~com_letras
  47. # tem_2espacos = ~dif_2espacos
  48. # sem_letras_E_tem_2espacos = sem_letras & tem_2espacos
  49. # df = df[ sem_letras_E_tem_2espacos ].copy()
  50. df = df[ ~tem_letras & ~dif_2espacos ].copy()
  51.  
  52. print("# df de linhas ( SEM letras AND COM 2 espacos ) na coluna 'Dimensões' :")
  53. print(df)
  54.  
  55.  
  56.  
Success #stdin #stdout 0.43s 60392KB
stdin
Standard input is empty
stdout
# tabela verdade de linhas que contem letras na coluna 'Dimensões':
0     False
1     False
2     False
3     False
4      True
5     False
6     False
7      True
8      True
9     False
10    False
11    False
Name: Dimensões, dtype: bool


# df de linhas COM letras na coluna 'Dimensões':
   Código Dimensões
4    1578   c10 l20
7     111   10 cl20
8     222   1c0 l20


# tabela verdade de linhas não tem 2 espaços na coluna 'Dimensões':
0     False
1     False
2     False
3     False
4      True
5     False
6     False
7      True
8      True
9      True
10    False
11     True
Name: Dimensões, dtype: bool


# df de linhas não tem 2 espaços na coluna 'Dimensões':
    Código    Dimensões
4     1578      c10 l20
7      111      10 cl20
8      222      1c0 l20
9      333      111 212
11     555  11 22 33 44


# df de linhas ( SEM letras AND COM 2 espacos ) na coluna 'Dimensões' :
    Código  Dimensões
0     1623    10 15 7
1     5124     15 7 8
2     4785    20 15 8
3     5251   50 70 22
5     9684    50 10 2
6     5187   75 20 10
10     444  111 22 33