O pandas é uma biblioteca de Python que permite trabalhar com dados crivados em planilhas do Excel ou CSV. Ele é uma das bibliotecas mais populares e amplamente utilizadas em Python, e é especialmente útil para quem trabalha com análise de dados. Assim, com o pandas, é possível gerenciar, manipular e analisar dados de maneira fácil e rápida, tornando o processo de análise de dados mais eficiente e eficaz.
Neste artigo, você aprenderá tudo o que precisa saber para começar a usar o pandas, desde a introdução até a criação de visualizações atraentes. Vamos começar!
Conteúdo
Sintaxe
A sintaxe do pandas é baseada em DataFrames, que são objetos Python que permitem gerenciar, manipular e analisar dados. Dessa forma, os DataFrames do pandas são semelhantes às planilhas do Excel, com as diferenças sendo que os dados são armazenados em Python e podem ser manipulados de maneira mais flexível.
Para criar um DataFrame no pandas, você precisa primeiro carregar os dados em um objeto Python. Aqui está um exemplo de como carregar um arquivo CSV em um DataFrame:
import pandas as pd
# Carregar um arquivo CSV em um DataFrame
df = pd.read_csv("dados.csv")
Uma vez que o DataFrame é criado, você pode usar uma série de ferramentas e métodos para gerenciar e analisar os dados. Por exemplo, você pode usar o método head()
para exibir os primeiros 10 linhas do DataFrame, ou o método describe()
para exibir estatísticas desse DataFrame.
# Exibir os primeiros 10 linhas do DataFrame
df.head()
# Exibir estatísticas do DataFrame
df.describe()
Além desses métodos básicos, o pandas oferece uma série de outros métodos e ferramentas para gerenciar e analisar dados, como filtros, agregações e visualizações.Nesse sentido, aqui está um exemplo de como aplicar um filtro ao DataFrame:
# Aplicar um filtro ao DataFrame
df[df["idade"] >= 30]
Esse é apenas um exemplo da sintaxe do pandas. Para saber mais sobre as ferramentas e métodos disponíveis, continue aprendendo neste artigo e consulte a documentação oficial do pandas.
Principais funcionalidades do Pandas em Python
O gerenciamento de dados no pandas é uma das principais funcionalidades da biblioteca. Dessa forma, permitindo trabalhar com dados em um formato de tabela, facilitando a análise e a manipulação dos dados. Algumas das principais funções do pandas para gerenciamento de dados incluem:
- Criação de DataFrames: É possível criar um DataFrame a partir de uma matriz ou de uma lista de listas. O DataFrame pode conter várias colunas e linhas, e cada célula pode conter um valor numérico ou categórico.
- Lendo e escrevendo arquivos: O pandas suporta a leitura e escrita de vários formatos de arquivo, incluindo CSV, Excel, JSON, SQL e mais. Dessa forma, tornando possível importar e exportar dados de outras fontes de dados.
- Filtros: É possível filtrar os dados em um DataFrame usando uma expressão booleana. Assim, isso permite selecionar apenas as linhas ou colunas que interessam.
- Agregação: O pandas oferece várias funções para agregar dados em um DataFrame, como média, desvio padrão, contagem e mais. Nesse sentido, permitindo obter uma melhor compreensão dos dados e identificar tendências.
- Resampling: O pandas permite resampling de dados, ou seja, é possível dividir os dados em amostras para treinamento e teste de modelos de aprendizado de máquina.
- Manipulação de dados: O pandas oferece várias funções para manipular dados em um DataFrame, como remoção de linhas ou colunas, renomeação de colunas, ordenação e mais.
Essas são apenas algumas das funcionalidades do pandas para gerenciamento de dados. Assim, a biblioteca é bastante potente e oferece muitas outras funcionalidades para trabalhar com dados de forma eficiente e intuitiva.
Gerenciamento de dados no Pandas
O pandas é uma biblioteca de Python que permite trabalhar com dados em um formato de tabela. Dessa forma, ele é bastante popular devido à sua facilidade de uso e à sua capacidade de lidar com vários tipos de dados, incluindo dados numéricos e categóricos. Portanto, para trabalhar com pandas, é importante entender como trabalhar com as células, linhas e colunas de um DataFrame.
Por exemplo, se você tem um DataFrame com 3 linhas e 4 colunas, a primeira célula (no canto superior esquerdo) terá índice 0, a segunda célula terá índice 1 e assim por diante. A célula na linha 2, coluna 3 será acessada pelo índice 2, pois é a terceira célula no DataFrame.
Trabalhando com células no Pandas em Python
As células são os elementos individuais de um DataFrame. Dessa forma, cada célula contém um valor único e pode ser acessada por sua posição na tabela. Assim, a posição de uma célula é especificada pelo seu índice, que é um número zero ou positivo que indica a linha e a coluna em que a célula está localizada.
Para excluir uma célula de um DataFrame, basta usar o método drop()
e especificar o índice da célula que deseja excluir. Por exemplo:
import pandas as pd
# criar um novo DataFrame com 3 linhas e 4 colunas
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# excluir a célula na linha 1, coluna 2
df = df.drop(0, axis=0)
# imprimir o DataFrame resultante
print(df)
Output:
A B C
2 3 6 9
Para alterar o valor de uma célula, basta acessar a célula por seu índice e atribuir um novo valor a ela. Por exemplo:
# alterar o valor da célula na linha 2, coluna 1 para 10
df.iloc[1, 0] = 10
# imprimir o DataFrame resultante
print(df)
Output:
A B C
0 1 4 7
1 2 10 8
2 3 6 9
Para obter o valor de uma célula, basta acessar a célula por seu índice. Por exemplo:
# obter o valor da célula na linha 2, coluna 1
value = df.iloc[1, 0]
# imprimir o valor
print(value)
Output:
10
Trabalhando com colunas no Pandas em Python
As colunas são os elementos básicos de uma tabela no pandas. Assim, cada coluna representa uma variável ou atributo e contém um conjunto de valores únicos. Para trabalhar com colunas, você pode usar a classe DataFrame. Um DataFrame é uma tabela de dados que consiste em linhas e colunas.
Para trabalhar com colunas no pandas, você pode usar vários recursos. Algumas das funcionalidades mais comuns incluem:
- Obter o nome da coluna: você pode usar o nome do atributo para obter o nome da coluna.
Exemplo:
print(df.columns)
- Obter o número de colunas: você pode usar o método shape e acessar o segundo elemento para obter o número de colunas.
Exemplo:
print(df.shape[1])
- Obtenha o primeiro valor de uma coluna: você pode usar o método iloc() e fornecer o índice da coluna e o índice da linha.
Exemplo:
print(df.iloc[0, 0])
- Para obter todos os valores de uma coluna: você pode usar o método locals() e fornecer o índice da coluna.
Exemplo:
print(df["col1"])
- Obtenha uma lista com todos os nomes das colunas: você pode usar o método columns.
Exemplo:
print(df.columns.tolist())
- Obtenha uma lista com os valores exclusivos de uma coluna: você pode usar o método unique()
Exemplo:
print(df["col1"].unique())
- Obtenha o número de linhas e colunas: você pode usar o método shape
Exemplo:
print(df.shape)
- Obtenha o índice de uma coluna: você pode usar o método set_index()
Exemplo:
df.set_index("col1", inplace=True)
Trabalhando com linhas no Pandas em Python
As linhas são os elementos básicos de uma tabela no pandas. Cada linha representa um indivíduo ou observação e contém um conjunto de valores para cada variável. Portanto, para trabalhar com linhas, você pode usar a classe DataFrame. Nesse sentido, um DataFrame é uma tabela de dados que consiste em linhas e colunas.
Para trabalhar com linhas no pandas, você pode usar vários recursos. Algumas das funcionalidades mais comuns incluem:
- Obter o número de linhas: você pode usar o método shape e acessar o primeiro elemento para obter o número de linhas.
Exemplo:
print(df.shape[0])
- Obter o valor de uma linha: você pode usar o método iloc() e fornecer o índice da linha e o índice da coluna.
Exemplo:
print(df.iloc[0, 0])
- Obter todas as linhas de uma coluna: você pode usar o método locals() e fornecer o índice da coluna.
Exemplo:
print(df["linha1"])
- Obtenha uma lista com todos os índices das linhas: você pode usar o método index.
Exemplo:
print(df.index.tolist())
- Obtenha uma lista com os valores únicos de uma linha: você pode usar o método unique()
Exemplo:
print(df["linha1"].unique())
- Obtenha o índice de uma linha: você pode usar o método set_index()
Exemplo:
df.set_index("linha1", inplace=True)
- Obtenha as primeiras x linhas: você pode usar o método head()
Exemplo:
print(df.head(x))
- Obter as últimas x linhas: você pode usar o método tail()
Exemplo:
print(df.tail(x))
Aplicando Classificadores com o Pandas em python
Os classificados são uma forma de agrupar ou classificar os dados em um DataFrame com base em critérios específicos. Assim, o pandas oferece várias funcionalidades para aplicar classificações, como:
- groupby(): O método groupby() permite agrupar as linhas de um DataFrame com base em uma ou mais colunas.
Exemplo:
group = df.groupby("idade")
- agg(): O método agg() permite calcular valores agregados para cada grupo criado pelo método groupby().
Exemplo:
group.agg({"salario": "mean"})
- pivot_table(): O método pivot_table() permite criar tabelas pivot ou desagregar dados em um DataFrame.
Exemplo:
pd.pivot_table(df, values="salario", index="idade", columns="gênero")
- crosstab(): O método crosstab() permite criar tabelas cruzadas ou desagregar dados em um DataFrame.
Exemplo:
pd.crosstab(df["idade"], df["gênero"])
Agregação de dados no Pandas
A agregação de dados é um processo importante em análise de dados, que consiste em combinar uma ou mais colunas de dados em uma única coluna. Dessa forma, em Python podemos utilizar a biblioteca Pandas para realizar operações de agregação de dados.
A biblioteca Pandas oferece várias funções para agregação de dados. Assim, algumas dessas funções são:
sum()
: soma os valores de todas as células de uma coluna.mean()
: calcula a média dos valores de todas as células de uma coluna.median()
: calcula o valor médio dos valores de uma coluna, considerando a média dos valores pares e a média dos valores ímpares.min()
: retorna o menor valor de uma coluna.max()
: retorna o maior valor de uma coluna.count()
: retorna o número de linhas de uma coluna.
Além dessas funções, a biblioteca Pandas também oferece outras funções para agregação de dados, como groupby()
, merge()
, join()
, entre outras.
Exemplos utilizando Pandas em conjuntos com outras funções no python
Vamos dar alguns exemplos de como utilizar outras funções com o pacote Pandas em Python:
- Utilizando
append()
:
O método append()
é usado para adicionar uma linha ou uma coluna a um DataFrame existente.
import pandas as pd
# Criando um DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
# Adicionando uma linha de dados ao DataFrame
df = df.append({'A': 4, 'B': 'd'}, ignore_index=True)
print(df)
Output:
A B
0 1 a
1 2 b
2 3 c
3 4 d
- Utilizando null:
O valor NaN
ou (valor nulo) é usado para indicar que um dado não está disponível.
import pandas as pd
# Criando um DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
# Adicionando um valor NaN ao DataFrame
df.loc[4] = pd.NaT
print(df)
Output:
A B
0 1 a
1 2 b
2 3 c
3 NaN
4 NaN
- Utilizando duas funções juntas:
A função apply()
é usada para aplicar uma função a cada valor de uma coluna. O argumento ifelse()
é usado para definir um valor a ser retornado com base em uma condição.
import pandas as pd
import numpy as np
# Criando um DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# Definindo uma função para verificar se um número é par ou ímpar
def is_even_or_odd(x):
if x % 2 == 0:
return 1
else:
return 0
# Aplicando a função em uma coluna e retornando o resultado
df['C'] = df['A'].apply(is_even_or_odd)
print(df)
Output:
A B C
0 1 4 0
1 2 5 1
2 3 6 0
- Utilizando
range()
:
O módulo range()
é usado para gerar uma sequência de números.
import pandas as pd
# Criando um DataFrame
df = pd.DataFrame({'A': [1, 2, 3]})
# Gerando uma sequência de números com o módulo range()
seq = range(len(df))
# Criando uma nova coluna com os valores da sequência
df['B'] = seq
print(df)
Output:
A B
0 1 0
1 2 1
2 3 2
Assim, neste exemplo a sequência de números é gerada usando o módulo range()
, com base no número de linhas (len(df)
) no DataFrame. Em seguida, adicionamos uma sequência de números como uma nova coluna ao DataFrame.
Trabalhando com tabelas e gráficos no Pandas
O Pandas é uma biblioteca poderosa em Python para análise e manipulação de dados. Dessa forma, fornece diversas ferramentas para criar tabelas e gráficos para visualizar seus dados.
Nesse sentido, para criar uma tabela com o Pandas, basta carregar um arquivo CSV ou uma lista de Python e, em seguida, usar a função to_frame()
para converter a lista em um DataFrame. Assim, o DataFrame é uma estrutura de dados semelhante a uma planilha do Excel, que podemos manipulada com diversas operações.
Aqui está um exemplo de como carregar um arquivo CSV e criar uma tabela:
import pandas as pd
# Carregando o arquivo CSV
df = pd.read_csv('file.csv')
# Exibindo a tabela
print(df)
Dessa forma, o Pandas também fornece diversas opções de formatação para as células do DataFrame, como fillna()
para preencher valores ausentes, round()
para redondear valores, str.upper()
para converter uma coluna em letras maiúsculas, entre outras.
Portanto, para criar gráficos o Pandas oferece a função plot()
, que pode ser usada para gerar diversas tipologias de gráficos, como gráficos lineares, barras, dispersos, entre outros. Assim, aqui está um exemplo de como criar um gráfico de barras:
import pandas as pd
# Carregando o arquivo CSV
df = pd.read_csv('file.csv')
# Criando um gráfico de barras
df.plot(kind='bar')
# Exibindo o gráfico
plt.show()
O Pandas também permite personalizar os gráficos, como alterar o título, as etiquetas das axes, o tamanho das linhas, entre outras opções.
Além disso, o Pandas oferece a opção de salvar os gráficos como imagens em vários formatos, como PNG, JPG, PDF, entre outros. Aqui está um exemplo de como salvar um gráfico como uma imagem PNG:
import pandas as pd
# Carregando o arquivo CSV
df = pd.read_csv('file.csv')
# Criando um gráfico de barras
df.plot(kind='bar', filename='bar_chart.png')
# Fechando a janela do gráfico
plt.close()
Portanto para apresentar seus resultados, o uso de visualizações é fundamental. Assim, as visualizações ajudam a transmitir os resultados de uma maneira clara e concisa, facilitando a compreensão dos dados.