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