filter module#
- exception filter.InvalidEntryError[código fonte]#
Bases:
Exception
- filter.checa_entradas(df, column_entry_dict)[código fonte]#
Verifica se todos os valores não-NaN nas colunas especificadas de um DataFrame estão dentro do respectivo intervalo de entradas válidas.
Parameters#
- dfpd.DataFrame
O DataFrame de entrada.
- column_entry_dictdict
- Um dicionário em que as chaves são os nomes das colunas e os valores são:
uma lista de entradas válidas, ou
uma tupla de (min_value, max_value) para definir o intervalo de entradas válidas.
Raises#
- InvalidEntryError
Se algum valor não-NaN em uma coluna estiver fora do intervalo de entradas válidas.
Examples#
>>> import pandas as pd >>> data = {'Coluna1': ['A', 'B', 'C', 'D', 'E'], 'Coluna2': [1.5, 2.0, 3.7, 999.9, 5.5]} >>> df = pd.DataFrame(data) >>> entradas_validas = {'Coluna1': ['A', 'B', 'C', 'D'], 'Coluna2': (0.0, 1000.0)} >>> check_entries(df, entradas_validas) # Nenhuma exceção deve ser lançada >>> entradas_validas = {'Coluna1': ['A', 'B', 'C', 'X'], 'Coluna2': (0.0, 1000.0)} >>> try: ... check_entries(df, entradas_validas) # Entradas inválidas na 'Coluna1' ... except InvalidEntryError as e: ... str(e) "Entradas inválidas encontradas na coluna 'Coluna1': ['X']" >>> entradas_validas = {'Coluna1': ['A', 'B', 'C', 'D'], 'Coluna2': (0.0, 10.0)} >>> try: ... check_entries(df, entradas_validas) # Entradas inválidas na 'Coluna2' ... except InvalidEntryError as e: ... str(e) "Entradas inválidas encontradas na coluna 'Coluna2': [999.9, 5.5]"
- filter.remover_linhas(df, dict_remover)[código fonte]#
Remove linhas de um DataFrame onde as colunas especificadas coincidem com os valores fornecidos.
Parameters#
- dfpd.DataFrame
O DataFrame a ser processado.
- dict_removerdict
Um dicionário com os nomes das colunas como chaves e valores para coincidir.
Returns#
- pd.DataFrame
Um novo DataFrame com as linhas removidas conforme especificado.
Examples#
>>> dados = { ... 'IN_TREINEIRO': [0, 1, 0, 0, 2, 0], ... 'TP_PRESENCA_CN': [0, 0, 1, 0, 0, 0], ... 'TP_PRESENCA_CH': [0, 1, 0, 0, 0, 0], ... 'TP_PRESENCA_LC': [0, 0, 1, 0, 0, 0], ... 'TP_PRESENCA_MT': [0, 1, 0, 0, 0, 0] ... } >>> df = pd.DataFrame(dados) >>> dict_remover = { ... 'IN_TREINEIRO': [1, 2], ... 'TP_PRESENCA_CN': 1, ... 'TP_PRESENCA_CH': 1, ... 'TP_PRESENCA_LC': 1, ... 'TP_PRESENCA_MT': 1 ... } >>> resultado_df = remover_linhas(df, dict_remover) >>> resultado_df IN_TREINEIRO TP_PRESENCA_CN TP_PRESENCA_CH TP_PRESENCA_LC TP_PRESENCA_MT 0 0 0 0 0 0 3 0 0 0 0 0 5 0 0 0 0 0
Note#
A função remove as linhas onde qualquer par coluna-valor especificado coincide.