cleandata module

Este modulo Python fornece funcoes para realizar solicitacoes HTTP para obter dados de uma URL e processar dados CSV. Ele pode ser usado para recuperar dados de uma fonte remota e prepara los para analise posterior. Tambem pode auxiliar na limpeza de um dataset.

cleandata.clean_dataframe(df, columns_to_drop: list | None = None, columns_to_rename: dict | None = None, numeric_columns: list | None = None, drop_na: bool = False)

Faz uma limpeza geral em um dataframe.

Parameters

dfpandas.DataFrame

O DataFrame a ser limpo.

columns_to_droplist, optional

Lista de colunas a serem removidas. The default is None.

columns_to_renamedict, optional

Dicionário de mapeamento de colunas. Chave é o nome da coluna antiga, valor nome da coluna nova. The default is None.

numeric_columnslist, optional

Lista de colunas em que os elementos são numéricos. The default is None.

drop_nabool, False by default

Se True, remove registros com valor NaN.

Returns

cleaned_dfpandas.DataFrame

O DataFrame limpo.

Example

>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
>>> columns_to_drop = ['B']
>>> columns_to_rename = {'A': 'X', 'C': 'Y'}
>>> numeric_columns = ['X', 'Y']
>>> cleaned_df = clean_dataframe(df, columns_to_drop, columns_to_rename, numeric_columns, drop_na=False)
>>> 'B' in cleaned_df.columns
False
>>> 'A' in cleaned_df.columns
False
>>> 'X' in cleaned_df.columns
True
>>> 'C' in cleaned_df.columns
False
>>> 'Y' in cleaned_df.columns
True    
cleandata.make_http_request(url: str)

Faz uma solicitacao HTTP para obter dados a partir de uma URL. Note que a HTTP tem que levar diretamente aos dados csv.

Parameters

urlstr

A URL que aponta para o conjunto de dados a ser lido.

Returns

str or None

O conteudo da resposta como texto se a solicitacao for bem sucedida. None, se ocorrer uma falha na solicitacao HTTP.

cleandata.process_data(data: str, dropnull: bool = False, desired_columns: List[str] | None = None)

Le e limpa dados CSV os transformando em pandas.DataFrame.

Parameters

datastr

Os dados CSV como uma string.

dropnullbool, False by default

O dropnull permite que tire as linhas com valores nulos da tabela. Por padrão ele é False e nao tira as linhas com valores nulos, mas se for True ele tira as linhas com valores nulos.

desired_columnslist, optional

Lista com os nomes das colunas desejadas, se nao especificado, todas as colunas serao lidas.

Returns

pandas.DataFrame or None

Um DataFrame do pandas contendo os dados processados se a operacao for bem-sucedida. None, se ocorrer uma falha no processamento.

Raises

TypeError

Se o tipo de elementos da lista passada para o parâmetro desired_columns for diferente de str.

Example

Exemplo de processamento de dados com colunas inválidas:

>>> dados_teste = '''
... Nome,Idade,Sexo
... João,30,M
... Maria,25,F
... Carlos,35,M
... Ana,28,F
... '''
>>> colunas_invalidas = ['Nome', 1, 'Idade']
>>> process_data(dados_teste, desired_columns=colunas_invalidas)
Erro: Todos os elementos da lista de colunas devem ser strings.

Exemplo de processamento bem-sucedido de dados:

>>> dados_teste = '''
... Nome,Idade,Sexo
... João,30,M
... Maria,25,F
... Carlos,35,M
... Ana,28,F
... '''
>>> resultado = process_data(dados_teste)
>>> resultado.head()
     Nome  Idade Sexo
0    João     30    M
1   Maria     25    F
2  Carlos     35    M
3     Ana     28    F