TUTORIAL: Tratamento de dados utilizando Python

Extraindo dados utilizando a biblioteca Python Pandas



Na Indústria 4.0, muito se fala em transferir os dados de produção da planta para a nuvem, armazená-los em bancos de dados e utilizá-los para obter 'insights' e gerar valor. Porém, como se dá essa transformação das informações em valor? Existem várias formas de extrair informações úteis. Uma delas é utilizando Python que atualmente é a linguagem preferida para trabalhar com dados devido às bibliotecas que oferece aos usuários, simplicidade da linguagem entre outros. Neste tutorial utilizarei uma base de dados disponível no Kaggle referente aos países do mundo para exemplificar como é possível extrair facilmente várias informações.
As linhas iniciadas em "In [ ]:" indicam o código que solicita a informação. As linhas iniciadas em "Out[ ]:" indicam as respostas obtidas.
Importar a biblioteca pandas
Importar a biblioteca Numpy e Matplotlib para auxiliar na manipulação e exibção dos dados.
Importar os dados da tabela. O comando 'pd.read_csv()' é um comando para importar arquivos do tipo .csv, que são arquivos onde os dados recolhidos são armazenados com separação por vírgulas.
Dados gerais da tabela. Com o comando 'head(10)' é possível exibir os 10 primeiros dados da tabela.
Informações sobre as colunas e quantidade de dados da tabela podem ser obtidas por meio do método 'info()'. No resultado abaixo é possível notar que existem colunas sem dados na tabela, ou seja, nem todas as colunas possuem 227 dados. Isto pode afetar os resultados obtidos caso não se realize nenhum tratamento na tabela.
Número de regiões diferentes no mundo e quantidade de países em cada uma delas. Isto é possível obter por meio do método 'value_counts', conforme abaixo. Este método fornece a quantidade de valores únicos de acordo com a coluna, por exemplo abaixo foram encontrados 51 países diferentes cuja região era 'SUB-SAHARAN AFRICA'. O método plot.bar() cria o gráfico de barras abaixo. O método plot da biblioteca Matplotlib é bastante semelhante aos métodos de plotagem do programa Matlab.
Os cinco maiores países em área. Por meio do método 'sort_values()' aplicado à coluna correspondente à área de cada um dos países. A opção 'ascending=False' organiza os valores em ordem decrescente.
Porém neste filtro aparece apenas o índice dos países de acordo com a área em ordem decrescente. Para melhor visualização, é possível utilizar o método 'sort_values( )' diretamente na tabela e não apenas na coluna, colocando nas opções a coluna de interesse para ser filtrada.
De forma análoga, os 5 países com maior população.
O país mais densamente povoado pode ser encontrado por meio do método 'max()' que retorna o maior valor entre os valores da coluna escolhida.
O país menos densamente povoado pode ser encontrado por meio do método 'min()' que retorna o menor valor entre os valores da coluna escolhida.
Como podemos observar abaixo, os tipos de alguns de nossos objetos não são 'float', portanto se torna difícil utilizar esses dados. Portanto, vou mudar os títulos das colunas da tabela e converter os dados para usá-los livremente.
tab.columns = (["country","region","population","area","density","coastline","migration","infant_mortality","gdp","literacy","phones","arable","crops","other","climate","birthrate","deathrate","agriculture","industry","service"])
Exibindo os tipos de dados novamente, para verificar as mudanças.
Agora, vou plotar um gráfico mostrando a relação de '$ per capita' e 'Phones (per 1000)'. No gráfico é possível verificar uma tendência de que quando um valor aumenta, o outro também apresenta um aumento.
No gráfico, um dos valores destaca aos olhos, com um valor de '$ per capita' maior do que 50000. Por curiosidade, procurei o país abaixo.
Analisando agora os índices de mortalidade infantil. No gráfico é possível observar que de maneira geral, quanto menor o '$ per capita', maior a mortalidade infantil. E também que após aproximadamente o valor 'x = 10000', a mortalidade infantil é quase constante.
Outro valor interessante de se analisar é o percentual de alfabetização em relação ao PIB per capita. Ao contrário da mortalidade infantil, a alfabetização é maior quanto maior é o PIB per capita.

O código original pode ser consultado no GitHub: https://github.com/ThayPedroso/Paises-do-mundo

Comentários

Postagens mais visitadas deste blog

Como utilizar Tag Prefix WinCC Professional

TUTORIAL: Criando WinCC Tags a partir de documentos de texto utilizando script em Python

Utilizando interfaces, inversão de controle e injeção de dependências em programação - Um exemplo em C#