Introdução ao NumPy e Pandas com Exemplos Práticos e Visualização de Dados

O NumPy e o pandas são bibliotecas essenciais para análise de dados em Python, e a biblioteca matplotlib complementa essa análise com poderosas ferramentas de visualização. Neste artigo, vamos explorar o uso do NumPy, pandas e matplotlib com 25 exemplos práticos, incluindo leitura e escrita de arquivos.

O que é NumPy?

O NumPy é uma biblioteca fundamental para a computação científica em Python. Ele oferece suporte para arrays multidimensionais e funções matemáticas avançadas.

O que é Pandas?

O pandas é uma biblioteca para manipulação e análise de dados, ideal para trabalhar com dados tabulares.

O que é Matplotlib?

O matplotlib é uma biblioteca de visualização de dados que permite criar gráficos estáticos, animados e interativos em Python.

Exemplos Práticos

1. Instalando as Bibliotecas

Para começar, você precisa instalar as bibliotecas necessárias. Use o pip:

pip install numpy pandas matplotlib

2. Criando Arrays com NumPy

Exemplo 1: Criando um array 1D

import numpy as np

arr = np.arange(5)
print(arr)

Exemplo 2: Criando um array 2D

import numpy as np

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

Exemplo 3: Operações elementares

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
squared = np.power(arr, 2)
print(squared)

Exemplo 4: Estatísticas básicas

import numpy as np

data = np.array([10, 20, 30, 40, 50])
mean = np.mean(data)
std_dev = np.std(data)
print(f"Mean: {mean}, Std Dev: {std_dev}")

Exemplo 5: Transpondo uma matriz

import numpy as np

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

3. Trabalhando com DataFrames no pandas

Exemplo 6: Criando um DataFrame

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)

Exemplo 7: Ler dados de um arquivo CSV

import pandas as pd

df = pd.read_csv('data.csv')
print(df.head())

Exemplo 8: Filtrando dados

import pandas as pd

df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35]
})
filtered_df = df[df['Age'] > 30]
print(filtered_df)

Exemplo 9: Agrupando dados

import pandas as pd

df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie', 'David'],
    'Age': [25, 30, 35, 40],
    'City': ['New York', 'Los Angeles', 'New York', 'Chicago']
})
grouped = df.groupby('City')['Age'].mean()
print(grouped)

Exemplo 10: Preenchendo valores faltantes

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, np.nan, 35]
})
df_filled = df.fillna(df['Age'].mean())
print(df_filled)

Exemplo 11: Removendo valores faltantes

import pandas as pd

df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, None, 35]
})

df_dropped = df.dropna()
print(df_dropped)

Exemplo 12: Ordenando dados

import pandas as pd

df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35]
})

df_sorted = df.sort_values(by='Age')
print(df_sorted)

Exemplo 13: Adicionando uma nova coluna

import pandas as pd

df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35]
})

df['Country'] = ['USA', 'USA', 'USA']
print(df)

Exemplo 14: Calculando a soma acumulada

import pandas as pd

df = pd.DataFrame({
    'Value': [1, 2, 3, 4, 5]
})

df['Cumulative Sum'] = df['Value'].cumsum()
print(df)

4. Visualizando Dados com Matplotlib

Exemplo 15: Criando um gráfico de linha

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({
    'Year': [2018, 2019, 2020, 2021],
    'Sales': [100, 150, 200, 250]
})

plt.plot(df['Year'], df['Sales'])
plt.xlabel('Year')
plt.ylabel('Sales')
plt.title('Sales Over Time')
plt.show()

Exemplo 16: Criando um gráfico de dispersão

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({
    'X': [1, 2, 3, 4, 5],
    'Y': [2, 3, 5, 7, 11]
})

plt.scatter(df['X'], df['Y'])
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Scatter Plot')
plt.show()

Exemplo 17: Criando um histograma

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(1000)

plt.hist(data, bins=30, edgecolor='k')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')
plt.show()

Exemplo 18: Criando um gráfico de barras

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({
    'Category': ['A', 'B', 'C', 'D'],
    'Values': [4, 7, 1, 8]
})

plt.bar(df['Category'], df['Values'])
plt.xlabel('Category')
plt.ylabel('Values')
plt.title('Bar Chart')
plt.show()

Exemplo 19: Criando um gráfico de pizza

import matplotlib.pyplot as plt

sizes = [30, 25, 20, 25]
labels = ['A', 'B', 'C', 'D']

plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140)
plt.title('Pie Chart')
plt.show()

Exemplo 20: Salvando gráficos em arquivos

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({
    'Year': [2018, 2019, 2020, 2021],
    'Sales': [100, 150, 200, 250]
})

plt.plot(df['Year'], df['Sales'])
plt.xlabel('Year')
plt.ylabel('Sales')
plt.title('Sales Over Time')
plt.savefig('sales_over_time.png')

5. Leitura e Escrita de Arquivos

Exemplo 21: Lendo um arquivo Excel

import pandas as pd

df = pd.read_excel('data.xlsx')
print(df.head())

Exemplo 22: Escrevendo um DataFrame para um arquivo CSV

import pandas as pd

df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35]
})

df.to_csv('output.csv', index=False)

Exemplo 23: Escrevendo um DataFrame para um arquivo Excel

import pandas as pd

df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35]
})

df.to_excel('output.xlsx', index=False)

Exemplo 24: Lendo um arquivo JSON

import pandas as pd

df = pd.read_json('data.json')
print(df.head())

Exemplo 25: Escrevendo um DataFrame para um arquivo JSON

pythonCopy codeimport pandas as pd df = pd.DataFrame({ 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35] }) df.to_json('output.json', orient='records', lines

Edvaldo Guimrães Filho Avatar

Published by

Categories: ,

Leave a comment