Python

Como unificar arquivos no Python

Unificar_arquivos_Python

Como unificar arquivos no Python

Você já recebeu várias planilhas e precisou juntá-las, transformando em um único arquivo? Diversos arquivos onde você precisa abrir a um, copiar o seu conteúdo e colar em uma única planilha? Se sua resposta é sim, você precisa ler este artigo e entender como unificar arquivos no Python.

Recentemente, recebi 5 anos de dados, divididos por meses, eram 60 arquivos que precisavam ser “copiados e colados” um abaixo do outro.

Levaria um bom tempo para realizar essa tarefa manualmente. No Python,- levou uns 10 minutos. E de forma super fácil!

Cadastre-se

Se cadastre no Space Data e tenha acesso a todo o conteúdo exclusivo para membros. É gratuito e sempre será!

Bibliotecas utilizadas

As únicas lib’s que vamos utilizar serão Pandas e a os.

Se quiser conferir a documentação de cada uma, só clicar no link:

Pandas: Documentação aqui

os: Documentação aqui

Arquivos

Imagine que você possui uma pasta com nove arquivos e que ainda precisa concatenar todos esses arquivos em uma única planilha, exceto a “idades.xlsx

Caminho da Pasta

Na variável “caminho” vamos atribuir o caminho da pasta onde estão salvos os nossos arquivos.

Para ficar mais claro o que estamos fazendo, vamos visualizar os arquivos dentro da variável que acabamos de criar:

Note que o nosso “for” percorre todos os documentos dentro da pasta, inclusive o arquivo “idades.xlsx” que não iremos utilizar.

Assim, dentro da nossa estrutura de repetição, vamos utilizar o diferente de ( != ) e ler os demais arquivos. Também vamos inseri-los em uma lista, que chamaremos “files” utilizando o “append”.

Confira também como fazer resumo de textos em Python

Clique aqui e acesse o artigo Resumo de texto em Python

@Author: Adriano Klein

Agora que já temos o nome dos arquivos, precisamos adicionar o caminho da pasta + o nome do arquivo (igual quando lemos um arquivo único no Pandas, certo?). Mas antes, vamos fazer um for e imprimir o resultado para nos certificarmos de que estamos conseguindo chegar no resultado esperado:

Nosso objetivo aqui é adicionar todos os arquivos em um único DataFrameEntão, vamos utilizar a biblioteca Pandas e criar uma estrutura na variável df, veja abaixo:

Por enquanto este DataFrame está vazio. Utilizando novamente uma estrutura de repetição (for), vamos percorrer todos os arquivos salvos na nossa pasta (como mostrado nos passos anteriores) e adicioná-los na variável df, utilizando a função append:

O parâmetro “engine” é necessário pois apartir da versão 2.0.1, só é suportada a leitura de arquivos ".xls". Neste link há mais informações:

 

O resultado será:

Melhorando nosso código

Agora que fizemos o passo-a-passo, vamos organizar nosso código e deixá-lo mais bonito.

Basicamente, vamos reescrevê-lo de uma forma mais otimizada.

Espero que tenha ficado claro e que possa te ajudar nos seus projetos!

 

Qualquer sugestão, crítica ou comentário, deixe aqui no blog para gente!

Data Viz – Como melhorar seu histograma com Seaborn

Melhorando Histograma no Seaborn

Inscreva-se

Se inscreva no Space Data para ter acesso ao conteúdo exclusivo para membros

Histogramas são gráficos bastante utilizados em análises para visualizar a distribuição de dados. Acontece que as configurações padrões das bibliotecas trazem histogramas básicos, bastante simples e nada atraentes. Neste artigo, vamos plotar um histograma utilizando a biblioteca seaborn e utilizar métodos para torná-lo visualmente mais bonito.

Se você não conhece este tipo de gráfico ou quer entender mais sobre o histograma e sua funcão, confira este artigo aqui: O que é um histograma

Dataset utilizado neste artigo

Para exemplificar, vamos utilizar um dataset sobre os índices de felicidade dos países em 2019 (pesquisa divulgada em 2020).

Você pode visualizar os dados aqui

Importacão das bibliotecas

#importação das bibliotecas

import pandas as pd
import seaborn as sns

import matplotlib
import matplotlib.pyplot as plt

Importação do dataset

Precisamos importar o dataset. Clique aqui para acessar o arquivo

Vou armazenar os dados na variável url e então utilizar o método da biblioteca Pandas para tranformá-lo em um DataFrame:

#importacao do dataset

url = ‘https://raw.githubusercontent.com/daianeklein/Space-Data/main/happiness_dataset.csv’

df = pd.read_csv(url)

Confira também: Quatro formas de visualizar seu DataFrame utilizando a biblioteca Pandas

Clique aqui e acesse o artigo

@Author: Dai

Vamos visualizar o dataset rapidamente:

Neste artigo, vamos utilizar a variável ‘Freedom to make life choices”

Plotando o histograma

Este plot está com as configurações default da biblioteca Seaborn. Note que só informamos o dataset e o eixo x.

 

 

Melhorando o histograma

Antes de começar a deixar nosso histograma bonitão, vamos dar uma olhada na documentação e entender quais são os parâmetros que esse gráfico possui.

Documentação

seaborn.histplot(data=None, *, x=None, y=None, hue=None, weights=None, stat='count', bins='auto', binwidth=None, binrange=None, discrete=None, cumulative=False, common_bins=True, common_norm=True, multiple='layer', element='bars', fill=True, shrink=1, kde=False, kde_kws=None, line_kws=None, thresh=0, pthresh=None, pmax=None, cbar=False, cbar_ax=None, cbar_kws=None, palette=None, hue_order=None, hue_norm=None, color=None, log_scale=None, legend=True, ax=None, **kwargs)

Bins

Traduzindo do inglês, bins são as “caixas”, ou seja, cada uma destas barras no nosso histograma.

Vamos alterá-lo para 20, colocando o parâmetro bins = 20..

Cor

Vamos alterar a cor do nosso histograma.

Para isso, vamos utilizar as opcoes do Matplotlib. A lista completa, você pode conferir aqui:

Neste exemplo, vou utilizar a cor ‘steal’:


Não está grande coisa, eu sei. Vamos mudar a cara dele logo então:

Parâmetros element

O parâmetro ‘element’ muda, basicamente, a forma das barras. Você pode escolher:

  • Bars
  • Step
  • Poly


Vamos utilizar o formato ‘step’:

Removendo a borda do gráfico

Para remover esta borda preta, vamos utilizar o parâmetro “despine”

Para remover todas as bordas, vamos utilizar os parâmetros bottom e left = True:

Configurando os eixo X e Y

Como falamos acima, estamos utilizando os dados da variável “Freedom to make life choices” neste histograma.

Sabemos que os valores estão distribuídos no eixo X. Neste exemplo, não vamos utilizar o eixo Y (lembre-se sempre de analisar se este eixo é importante para o leitor ou não, muitas vezes ele é essencial para interpretação do gráfico).

Removendo o eixo Y

Para remover a esca do eixo Y, vamos utilizar o tick_params. 

Ele vem do biblioteca matplotlib, portanto, vamos chamá-lo:

plt.tick_params(axis =’y’, labelsize=0, length = 0) 

y = eixo Y

labelsize = tamanho do rótulo

length = Tamanho dos pontos (são aqueles pequenos pontos no eixo Y)

Removendo o “nome” do eixo Y

Retiramos os valores do eixo Y, mas como remover esse “Count”?

Vamos lá.

Também do Matplotlib, vamos configurar o ylabel, passando uma lista vazia e alterando o tamanho da fonte para 0.

Obs: Alterar o tamanho da fonte é importante, pois caso contrário, ficará dois colchetes no seu eixo ( assim: [] )

Configurando o eixo X:

Vamos alterar o título do eixo X e também alterar a cor e tamanho da escala.

Alterando a escala

Assim como fizemos com o eixo Y, também vamos utilizar o tick_params para configurar o eixo X:

Alterando e configurando o título do eixo

Para melhorar o eixo X, vamos

  • Alterar o título para portugues 
  • Mudar a cor (color)
  • Alterar o tamanho (fontsize)
  • Deixá-lo um pouco mais distante da escala (labelpad)

Estamos quase finalizando!

Agora só falta aumentar um pouco esse histograma e claro, colocar um título nele.

Alterando o tamanho:

Vamos utilizar o método: plt.figure(figsize=(8,6)), onde 8 e 6 é o tamanho do gráfico. Sinta-se à vontade para alterar estes números como ficar melhor em seu projeto.

E para inserir o título e configurá-lo também, vamos utilizar o plt.title, sendo:

pad = Distanciar o texto do gráfico

fontsize = Tamanho do título

color  = Cor do título

fontweight = O tipo da fonte do título, neste caso, selecionado negrito

Ficou muito mais bonito, não é mesmo?

Agora, só para finalizar, vamos tirar esse texto em cima do nosso histograma:

É bastante simples. No final de todos esses códigos, coloque ax = ax

Resultado final

Antes
Depois