Hoje, vamos mergulhar no incrível mundo da Análise de Dados com Pandas. Se você já trabalhou com dados, sabe que eles são a nova moeda do mundo digital. Mas para extrair valor desses dados, precisamos das ferramentas certas. E uma das melhores do mercado atualmente é a biblioteca Pandas do Python. Vamos desvendar juntos o poder do Pandas e transformar essas informações brutas em insights valiosos.
Sumário
O que é o Pandas?
Pandas é uma biblioteca de software escrita para a linguagem de programação Python que permite a manipulação e análise de dados de maneira eficiente. É uma ferramenta robusta e essencial para qualquer Cientista de Dados ou Analista de Dados. Eu já escrevi sobre O que é Pandas aqui no Balaio Científico, confira.
Seu nome deriva do termo “panel data”, um termo econômico que se refere a conjuntos de dados que incluem observações ao longo do tempo. O Pandas é capaz de trabalhar com uma variedade de tipos de dados, incluindo dados tabulares, dados de séries temporais e até mesmo dados não estruturados.
# Importando a biblioteca pandas
import pandas as pd
Primeiros passos com a Análise de Dados com Pandas
Em nossa jornada para dominar a análise de dados com Pandas, precisamos conhecer dois conceitos fundamentais: o DataFrame e a Series.
DataFrame
Um DataFrame é uma estrutura de dados bidimensional semelhante a uma tabela de banco de dados SQL ou uma planilha do Excel. Consiste em colunas e linhas onde cada coluna representa uma variável e cada linha representa um registro.
# Criando um DataFrame
dados = {
'nome': ['Ana', 'João', 'Maria', 'Pedro'],
'idade': [23, 35, 59, 12]
}
df = pd.DataFrame(dados)
print(df)
Series
Uma Series, por outro lado, é uma estrutura de dados unidimensional que pode armazenar qualquer tipo de dados. Você pode pensar nisso como uma única coluna de uma tabela.
# Criando uma Series
s = pd.Series([1, 2, 3, 4, 5])
print(s)
Importando e explorando dados com Pandas
A Análise de Dados com Pandas se torna realmente empolgante quando começamos a trabalhar com conjuntos de dados do mundo real. Vamos importar um conjunto de dados CSV e explorá-lo.
# Importando um conjunto de dados
df = pd.read_csv('caminho_para_seu_arquivo.csv')
# Visualizando as primeiras linhas
print(df.head())
A função head()
retorna as primeiras cinco linhas do DataFrame. Isso é especialmente útil quando estamos lidando com grandes conjuntos de dados.
Agora, vamos descobrir algumas estatísticas básicas sobre nossos dados usando a função describe()
.
# Descrevendo o conjunto de dados
print(df.describe())
A função describe()
retorna estatísticas descritivas que resumem a tendência central, a dispersão e a forma da distribuição de um conjunto de dados.
Manipulando dados com Pandas
A biblioteca Pandas oferece uma série de maneiras mais práticas de manipular dados. Vamos discutir algumas delas.
Selecionando colunas
Durante sua jornada com a análise de dados usando Pandas, muitas vezes você vai se deparar com a necessidade de selecionar uma ou várias colunas de seu DataFrame. Vamos ver como é simples fazer isso.
# Selecionando uma única coluna
print(df['nome_da_coluna'])
Nesse pequeno trecho de código, estamos selecionando uma única coluna de nosso DataFrame. A expressão df['nome_da_coluna']
simplesmente acessa a coluna denominada ‘nome_da_coluna’ em nosso DataFrame, onde ‘df’ é a variável que representa nosso DataFrame. O resultado dessa expressão será uma Series do Pandas que contém os dados da coluna selecionada.
# Selecionando múltiplas colunas
print(df[['coluna1', 'coluna2', 'coluna3']])
Agora, se quisermos selecionar mais de uma coluna, precisamos passar uma lista de nomes de colunas para nosso DataFrame. A lista é indicada pelos colchetes extras [['coluna1', 'coluna2', 'coluna3']]
. O resultado dessa expressão será um DataFrame que contém apenas as colunas selecionadas.
Essa capacidade de selecionar colunas específicas é muito útil quando queremos focar apenas em um subconjunto de nossos dados. Por exemplo, pode ser que alguns dos atributos não sejam relevantes para nossa análise atual, e podemos facilmente descartá-los dessa maneira.
Lembrando, claro, que você deve substituir ‘nome_da_coluna’, ‘coluna1’, ‘coluna2’ e ‘coluna3’ pelos nomes reais das colunas no seu DataFrame.
Filtrando linhas
Nas análises de dados, muitas vezes precisamos extrair subconjuntos de dados com base em determinados critérios. Isso é conhecido como filtragem de dados. No Pandas, essa tarefa é bastante simplificada. Vamos aprender como fazer isso com o exemplo a seguir.
# Filtrando linhas onde a coluna 'idade' é maior que 30
print(df[df['idade'] > 30])
No código acima, estamos filtrando as linhas do DataFrame df
onde a coluna ‘idade’ é maior que 30. A expressão df['idade'] > 30
cria uma máscara booleana: para cada linha do DataFrame, ela retorna True
se o valor da coluna ‘idade’ for maior que 30, e False
caso contrário.
Quando essa máscara booleana é passada para o DataFrame df
, ele retorna apenas as linhas para as quais a máscara é True
. O resultado é um novo DataFrame que contém apenas as linhas em que a ‘idade’ é maior que 30.
Essa capacidade de filtrar linhas com base em condições nos permite responder a perguntas mais direcionadas sobre nossos dados. Por exemplo, podemos estar interessados em analisar o comportamento de um determinado segmento da população, ou talvez queiramos descartar outliers de nossas análises. Com o Pandas, a filtragem de dados é tão simples quanto parece!
Agrupando dados
O Pandas oferece uma gama impressionante de funções para manipular dados. Uma dessas funções é o groupby()
, que é semelhante à operação GROUP BY no SQL. É um recurso extremamente poderoso para quando você quer agrupar seus dados de acordo com algum critério, e em seguida, aplicar alguma função a cada um dos grupos. Vamos entender como isso funciona no exemplo abaixo.
#Agrupando dados pela coluna 'idade' e calculando a média da coluna 'salario'
print(df.groupby('idade')['salario'].mean())
No código acima, estamos primeiro agrupando o DataFrame df
pela coluna ‘idade’. Isso significa que todos os registros com a mesma idade serão agrupados juntos. Em seguida, selecionamos a coluna ‘salario’ e aplicamos a função mean()
, que calcula a média.
Portanto, esse comando retorna a média dos salários para cada grupo de idades. Em outras palavras, você pode interpretar o resultado como: “Para cada idade distinta no meu DataFrame, qual é o salário médio dos indivíduos dessa idade?”.
Essa é uma forma extremamente eficiente de analisar nosso DataFrame sob diferentes perspectivas. Podemos substituir ‘idade’ e ‘salario’ pelos nomes reais das colunas no nosso DataFrame, e a função mean()
por qualquer outra função que queiramos aplicar a cada grupo – poderia ser sum()
, min()
, max()
, count()
, entre outras.
Essas são apenas algumas das muitas operações que você pode realizar na Análise de Dados com Pandas. Lembre-se, a prática leva à perfeição. Continue explorando a biblioteca Pandas e aplicando-a aos seus conjuntos de dados. Logo você se tornará um mestre na Análise de Dados com Pandas.
Espero que você tenha gostado deste passeio pelo mundo da Análise de Dados com Pandas. Fique ligado para mais conteúdos interessantes sobre dados. Até a próxima!
Nota: Os exemplos de código neste artigo são para fins ilustrativos e podem não funcionar sem modificações apropriadas, como a substituição dos nomes das colunas pelos nomes das colunas no seu conjunto de dados.