Introdução ao Pandas e NumPy

Neste capítulo, vamos explorar duas das bibliotecas mais poderosas e populares para análise de dados em Python: Pandas e NumPy. Estas bibliotecas vão facilitar enormemente o teu trabalho com dados, permitindo-te realizar operações complexas de maneira eficiente e eficaz.

NumPy: A Base para a Computação Numérica

NumPy (Numerical Python) fornece suporte extensivo para arrays de grandes dimensões e matrizes multidimensionais. Também inclui uma vasta coleção de funções matemáticas de alto nível para operações com esses arrays.

Criação e Manipulação de Arrays

Para começar, precisamos de importar a biblioteca NumPy:

import numpy as np

Arrays Unidimensionais

Vamos criar um array unidimensional (vetor):

array_unidimensional = np.array([1, 2, 3, 4, 5])
print(array_unidimensional)

Arrays Multidimensionais

Um array bidimensional (matriz) pode ser criado da seguinte forma:

array_bidimensional = np.array([[1, 2, 3], [4, 5, 6]])
print(array_bidimensional)

Operações Matemáticas em Arrays

NumPy permite realizar operações matemáticas em arrays de forma muito eficiente. Por exemplo, podemos somar dois arrays:

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
soma = a + b
print(soma)

Funções Universais (ufuncs)

NumPy fornece várias funções universais para operações como a raiz quadrada, seno, cosseno, etc. Por exemplo:

raiz_quadrada = np.sqrt(array_unidimensional)
print(raiz_quadrada)

Aplicação Prática

Suponhamos que temos uma lista de temperaturas em Celsius e queremos convertê-la para Fahrenheit. Podemos usar NumPy para fazer isto de forma muito simples:

temperaturas_celsius = np.array([0, 20, 25, 30, 35])
temperaturas_fahrenheit = (temperaturas_celsius * 9/5) + 32
print(temperaturas_fahrenheit)

Pandas: Manipulação de Dados de Forma Eficiente

Pandas é uma biblioteca que fornece estruturas de dados de alto desempenho, como DataFrames, que são essenciais para a análise de dados.

Criação de DataFrames

Para utilizar Pandas, primeiro precisamos de importar a biblioteca:

import pandas as pd

Um DataFrame pode ser criado a partir de um dicionário:

dados = {
    'Nome': ['Ana', 'Bruno', 'Carlos'],
    'Idade': [23, 35, 30],
    'Cidade': ['Lisboa', 'Porto', 'Coimbra']
}
df = pd.DataFrame(dados)
print(df)

Leitura de Ficheiros CSV

Pandas facilita a leitura de ficheiros CSV, muito comuns em manipulação de dados:

df_csv = pd.read_csv('dataset.csv')
print(df_csv.head())

Seleção e Filtragem de Dados

Pandas permite selecionar e filtrar dados de forma muito intuitiva:

# Selecionar uma coluna
idades = df['Idade']
print(idades)

# Filtrar linhas
df_filtrado = df[df['Idade'] > 30]
print(df_filtrado)

Manipulação de Dados

Pandas também facilita a manipulação de dados, como a adição de novas colunas:

df['Altura'] = [1.70, 1.80, 1.75]
print(df)

Gráficos Simples com Pandas

Podemos criar gráficos simples diretamente a partir de um DataFrame:

df['Idade'].plot(kind='hist', title='Distribuição das Idades')

Aplicação Prática

Suponhamos que temos um conjunto de dados sobre vendas e queremos calcular a média de vendas por cidade:

dados_vendas = {
    'Cidade': ['Lisboa', 'Porto', 'Lisboa', 'Coimbra', 'Porto'],
    'Vendas': [250, 450, 300, 150, 500]
}
df_vendas = pd.DataFrame(dados_vendas)
media_vendas_por_cidade = df_vendas.groupby('Cidade')['Vendas'].mean()
print(media_vendas_por_cidade)

Resumo

Neste capítulo, introduzimos duas poderosas bibliotecas de Python: NumPy e Pandas. Vimos como criar e manipular arrays em NumPy, e como utilizar Pandas para criar, filtrar e manipular DataFrames. Estas ferramentas são essenciais para qualquer tarefa de análise de dados e fornecem uma base sólida para avançarmos para tópicos mais complexos.

Questionário

  1. Como se cria um array unidimensional em NumPy?
  2. Qual a principal estrutura de dados utilizada pela biblioteca Pandas?
  3. Como se pode ler um ficheiro CSV usando Pandas?
  4. Qual a função de NumPy utilizada para calcular a raiz quadrada de um array?
  5. Como se pode adicionar uma nova coluna a um DataFrame em Pandas?

Este questionário serve para verificar a tua compreensão das principais funcionalidades das bibliotecas NumPy e Pandas abordadas neste capítulo. Boa sorte!

<< Bibliotecas Índice Análise gráfica com Mappl... >>