⏱️2 min read · 429 words

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.
📋 Table of Contents
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.
🔗 Share this article
✍️ Leave a Comment