Graficos Lineares em Linguagem Python
Usando A biblioteca Pandas de Python para visualizar dados de forma linear.
Bem conhecido por suas poderosas bibliotecas de analise de dados, Python oferece uma múltipla gama de flexibilidade e diversidade para resolver problemas em análises de dados.
Abordarei apenas uma analise de uma visualização linear. Porém não abordo coisas como média, co variância entre outras medidas de forma aprofundada apenas mostro como visualizar um gráfico linear na linguagem python e não mais que isso.
Requisitos: Dominar um básico de Python como declarar strings e construir funções. Dominar um básico de estatística. Deixar um cafézinho do lado. Café é a essência das galáxias.
No final postei o link dos dados usados neste artigo. Eles são do kaggle.
-- Visualização de dados em tabelas. --
Aqui você pode visualizar e implantar dados diretamente no script caso não queira importar um data set ou arquivo muito complexo. Eu recomendo utilizar em amostras simples ou conjunto pequeno de dados o que pode reduzir a ocorrência de erros (e crimes de agressão caso gere algum tipo de bagulho loco ai).
import pandas as pd # Aqui [pd] é apenas um apelido para esta biblioteca ...Sério não fica viajando muito nisso é apenas isso ...
import numpy as np # Aqui importo uma biblioteca numerica com python
dict{'a': 3, 'b':'cat', 'c':25}
pd.Series(dict)
oneD = pd.Series([100, 'cat', 'gogs', 500], ['Amy', 'Bobby', 'Cat', 'Don', 'Emma']) #Aqui será criado dois grupos e criado uma relação 1 para 1.
#Neste caso o primeiro grupo será um valor adicionado e o segundo grupo será um indicie.
oneD.loc[['Cat', "Emma"]] # Este caso retorna apenas os valores com o indice escolido (Meio que loc para localize).
#Também é possivel criar multigrupos em uma mesma linha use os colchetes {} << esse treco aqui ... Para representar o grupo.
Grooves = { 'Adão' : pd.Series([100,200,300], index = ['Maçã', 'Pera', 'Laranja']),
'Eva' : pd.Series([111,222,333,444]), index = ['Maçã', 'Pera', 'Laranja', 'Melão']}
organizandoEmFrames = pd.DataFrame(Groovies)
print(organizandoEmFrames)
#Aqui os frames serão organizados e representados em forma de tabelas no terminal mesmo.
-- Importando dados para o script --
Aqui irei abordar apenas dois tipos de importação o formato .json e o formato .csv que achei as mais importantes.
Com isso você poderá avaliar seus dados e verificar possíveis erros de escrita e assim não ficar triste. Claro que você pode executar a manutenção dos dados reescrevendo eles em leitores de arquivo como o Nano do Linux e o leitor de arquivos txt do Windows. Evitando assim choros e lágrimas desnecessárias.
### IMPORTANDO OS DADOS ###
# Os dados podem ser importados de várias formas. Vou abordar as que eua chei realmente importante.
import pandas as pd
import numpy as np
arquivoDesejado = "C://Windows/System32/%userprofile%/OneDrive/" # É exemplo de caminho usado ... Ou você digita o caminho ouu...
arquivoLocal = "Resper.csv" #Neste caso aqui o arquivo está no mesmo local do script que você está digitando e não é nescessário digitar uma maracutaia de trem para fazer.
df1 = pd.read_csv(arquivoDesejado)
df1.head() #Mostra os primeiros 5 linhas do banco de dados escolhido ou você coloca uma quanditade numérica ali ou alguma condição específica do arquivo.
# Dependendo do pais a forma como separamos os dados são diferentes, então a forma de separ os dados pode ser representado como [,] Aa virgula ou [;] usando ponto e virgula.
# Então temos que relatar ados dados para que sejam convertidos e melhor representados.
arquivoUsado = "WineQT.csv"
df2 = pd.read_csv(arquivoUsado, sep = ';', decimal = ',') #Neste caso os dados estão separados por ponto e virgula e os decimais são separados por virgula ocorrendo a conversão.
df2.head() # Mostra o maldito ! Lembrando que a função [head()] mostra apenas os 5 primeiros dados do arquivo.
### Importando em formato .json ###
import pandas as pd
import json #Aqui a biblioteca json foi importada para que possamos usar os dados em formato .json
arquivoJson = "dataset.json"
with open (arquivoJson) as Cleber:
JasonOEstripador = json.load(Cleber) #Aqui os dados serão carregados e convertidos para o serem lidos.
print(JasonOEstripador) #Aqui os dados serão mostrados no terminal.
visualizandoDataFrame = pd.DataFrame(JasonOEstripador) #Aqui os dados serão convertidos para um DataFrame do pandas e serão exibidos em formato de tabela com linhas e colunas. # Aqui finalmente os dados podem ser vizualizados em formato de tabela.
-- Escrevendo inferências rápidas --
Com essas inferências rápidas
### Inferências gráficas rápidas ###
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv("italy_earthquakes_from_2016-08-24_to_2016-11-30.csv", sep = ';', decimal = ',').set_index('Time')
# Com a função [set_index()] é possível escolher uma coluna para ser o indice do DataFrame como escolhemos as datas para visualizar.
df.describe() #Aqui os dados serão descritos e mostrados no terminal usando coisas estátiscas. Melhora o conheicmento dos dados e não fica tão perdido.
-- Visualização Linear --
Com este script gráfico finalmente será mostrada em tela. Não terá uma imagem complexa mas em geral será com duas cores.
### Mostrando o gráfico ! ###
import pandas as pd
from numpy as np
from datetime import datetime
%matplotlib inline # a partir daqui estou importando sistemas de plot para o gráfico muito importante
import matplotlib.pyplot as plt
from matplotlib.pyplab import rcParams
rcParams['figure.figsize'] = 15, 6 # aqui eu defino o tamanho da imagem a ser exibida em polegadas e aparece na sua tela sendo (altura, largura).
df = pd.read_csv("italy_earthquakes_from_2016-08-24_to_2016-11-30.csv", sep = ';', decimal = ',').set_index('Time')
df.index = pd.to_datetime(df.index) # Aqui os dados são vizualidados com a função [to_datetime()] para que sejam vizualidados por datas.
df.head(7) #Aqui os dados serão mostrados no terminal finalmente ...
df['Magnitude'].resample('D').apply([np.mean]).plot() #Aqui os dados serão plotados em um gráfico de linha.
# resample é uma função que agrupa os dados por um determinado período de tempo. Neste caso, 'D' significa que os dados serão agrupados por dia.
# apply([np.mean]) significa que a média dos dados será calculada para cada dia.
# plot() é uma função que plota os dados em um gráfico.
plt.title('Média da Magnitude dos Terremotos por Dia') #Aqui o título do gráfico será mostrado.
plt.xlabel('Data') #Aqui o eixo x será mostrado.
plt.ylabel('Magnitude') #Aqui o eixo y será mostrado a magnetude dos terremotos.
Dados usados como referência para o script acima:
Qualidade dos Vinhos: https://www.kaggle.com/datasets/yasserh/wine-quality-dataset?resource=download
Terremotos da Itália: https://www.kaggle.com/datasets/blackecho/italy-earthquakes