🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

Tutorial Python Pandas 2026: Análise de dados do básico a projetos reais

⏱️2 min read  ·  429 words
Python Pandas Tutorial 2026: Data Analysis from Basics to Real Projects

Pandasé a biblioteca Python mais usada para análise de dados em 2026. Esteja você limpando CSVs, agregando dados de vendas ou preparando conjuntos de dados para aprendizado de máquina, pandas é a ferramenta. Este tutorial cobre as operações essenciais que todo profissional de dados precisa.

Instalar e importar

pip install pandas numpy

import pandas as pd
import numpy as np

print(pd.__version__)  # 2.2+

Criando DataFrames

# From dict
df = pd.DataFrame({
    'name':   ['Alice', 'Bob', 'Carol', 'Dave'],
    'age':    [25, 30, 35, 28],
    'salary': [70000, 85000, 92000, 78000],
    'dept':   ['Eng', 'Mktg', 'Eng', 'HR'],
})

# From CSV
df = pd.read_csv('data.csv')

# From JSON
df = pd.read_json('data.json')

print(df.head())       # First 5 rows
print(df.info())       # Column types and nulls
print(df.describe())   # Stats summary

Selecionando Dados

# Select column
df['name']              # Series
df[['name', 'salary']]  # DataFrame

# Select rows by condition
df[df['salary'] > 80000]
df[(df['dept'] == 'Eng') & (df['age'] < 35)]

# iloc — by position
df.iloc[0]       # First row
df.iloc[1:3]     # Rows 1-2

# loc — by label
df.loc[df['dept'] == 'Eng', ['name', 'salary']]

Limpeza de dados

# Check nulls
df.isnull().sum()

# Drop rows with any null
df.dropna(inplace=True)

# Fill nulls
df['salary'].fillna(df['salary'].mean(), inplace=True)

# Remove duplicates
df.drop_duplicates(inplace=True)

# Rename columns
df.rename(columns={'name': 'full_name'}, inplace=True)

# Change dtype
df['age'] = df['age'].astype(int)

Agrupamento e agregação

# Group by department, get stats
summary = df.groupby('dept').agg(
    count=('name', 'count'),
    avg_salary=('salary', 'mean'),
    max_salary=('salary', 'max'),
).reset_index()

print(summary)
#   dept  count  avg_salary  max_salary
#   Eng       2     81000.0       92000
#   HR        1     78000.0       78000
#   Mktg      1     85000.0       85000

Mesclando DataFrames

# Two DataFrames
employees = pd.DataFrame({'emp_id': [1,2,3], 'name': ['Alice','Bob','Carol']})
salaries  = pd.DataFrame({'emp_id': [1,2,4], 'salary': [70000,85000,60000]})

# Inner join (only matching)
merged = employees.merge(salaries, on='emp_id', how='inner')

# Left join (keep all employees)
merged = employees.merge(salaries, on='emp_id', how='left')

Aplicando Funções

# Apply function to column
df['salary_band'] = df['salary'].apply(
    lambda s: 'High' if s > 90000 else ('Mid' if s > 75000 else 'Low')
)

# Apply to multiple columns
df[['age','salary']].apply(lambda col: col / col.max())

# Vectorized operations (faster than apply)
df['salary_k'] = df['salary'] / 1000
df['senior'] = df['age'] >= 30

Exportar resultados

df.to_csv('output.csv', index=False)
df.to_excel('output.xlsx', index=False)
df.to_json('output.json', orient='records')

Conclusão

O Pandas lida com 95% das tarefas de organização de dados do mundo real. Mestregroupby,mergee operações vetorizadas e você processará milhões de linhas em segundos. Combine com Matplotlib ou Plotly para visualização ou entregue os dados limpos para o scikit-learn para ML.

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা