Como Ler um Arquivo CSV e Calcular Medidas de Dispersão Estatísticas com Pandas, NumPy e Matplotlib
Neste guia, você aprenderá a ler um arquivo CSV com Pandas, calcular medidas de dispersão estatísticas como variância, desvio padrão e amplitude, e visualizar os resultados usando Matplotlib. Vamos abordar um caso específico onde as primeiras 8 linhas do arquivo não fazem parte da tabela e devem ser ignoradas.
1. Configurando o Ambiente
Certifique-se de que as bibliotecas necessárias estejam instaladas. Execute o comando abaixo para instalar o Pandas, NumPy e Matplotlib:
pip install pandas numpy matplotlib
2. Lendo o Arquivo CSV com a Codificação ANSI e Ignorando Linhas Iniciais
Como o arquivo está em codificação ANSI, utilizaremos encoding='latin1'. Além disso, vamos ignorar as primeiras 8 linhas que não fazem parte da tabela, usando o parâmetro skiprows.
import pandas as pd
# Lendo o arquivo CSV ignorando as primeiras 8 linhas
df = pd.read_csv('caminho/para/o/seu_arquivo.csv', encoding='latin1', skiprows=8, sep=';') # Ajuste o separador se necessário
print(df.head()) # Exibe as primeiras linhas do DataFrame
3. Explorando e Limpando os Dados
Antes de realizar cálculos estatísticos, é essencial explorar e limpar os dados, verificando valores ausentes e ajustando tipos de dados conforme necessário.
# Exibindo informações básicas do DataFrame
print(df.info())
# Verificando valores ausentes
print(df.isnull().sum())
# Removendo linhas com valores ausentes, se necessário
df = df.dropna()
# Convertendo colunas para tipos numéricos se necessário
df['ColunaNumerica'] = pd.to_numeric(df['ColunaNumerica'], errors='coerce')
4. Calculando Medidas de Dispersão Estatísticas
Vamos calcular algumas medidas de dispersão estatísticas, incluindo variância, desvio padrão, amplitude e coeficiente de variação.
import numpy as np
# Calculando a variância
variancia = np.var(df['ColunaNumerica'])
print(f"Variância: {variancia}")
# Calculando o desvio padrão
desvio_padrao = np.std(df['ColunaNumerica'])
print(f"Desvio Padrão: {desvio_padrao}")
# Calculando a amplitude
amplitude = np.ptp(df['ColunaNumerica'])
print(f"Amplitude: {amplitude}")
# Calculando o coeficiente de variação
coef_var = (desvio_padrao / np.mean(df['ColunaNumerica'])) * 100
print(f"Coeficiente de Variação: {coef_var}%")
5. Visualizando os Dados com Matplotlib
Para complementar a análise, vamos criar um histograma e um gráfico de dispersão para visualizar a distribuição dos dados.
import matplotlib.pyplot as plt
# Histograma dos dados
plt.hist(df['ColunaNumerica'], bins=20, color='blue', alpha=0.7)
plt.title('Distribuição dos Dados')
plt.xlabel('Valores')
plt.ylabel('Frequência')
plt.grid(True)
plt.show()
# Gráfico de dispersão
plt.scatter(df.index, df['ColunaNumerica'], color='red', alpha=0.6)
plt.title('Gráfico de Dispersão dos Dados')
plt.xlabel('Índice')
plt.ylabel('Valores')
plt.grid(True)
plt.show()
Arquivos para o exemplo:
https://edvaldoguimaraes.com.br/wp-content/uploads/2024/09/exercicio2024.zip
Conclusão
Este artigo demonstrou como ler um arquivo CSV que possui linhas iniciais indesejadas, calcular medidas de dispersão estatísticas e visualizar os dados com gráficos. Seguindo esses passos, você conseguirá analisar seus dados de forma eficiente e precisa.

Leave a comment