Skip to content

Manipulando DataFrames

Manipulando Dados em DataFrames do Pandas

Criando um dicionário em python:

python
dados = {
    'Estado': ['Santa Catarina', 'Rio de Janeiro', 'Tocantins', 'Bahia', 'Minas Gerais'],
    'Ano': [2004, 2005, 2006, 2007, 2008],
    'Taxa Desemprego': [1.5, 1.7, 1.6, 2.4, 2.7]
}


Importando a classe DataFrame de dentro do pandas!

python
from pandas import DataFrame


Convertendo o dicionário python para um DataFrame do Pandas!

python
df = DataFrame(dados)


Fazendo a visualização dos dados, criando um cabeçalho e mostrando as primeiras 5 primeiras linhas

python
df.head()

out:

Estado Ano Taxa Desemprego
0 Santa Catarina 2004 1.5
1 Rio de Janeiro 2005 1.7
2 Tocantins 2006 1.6
3 Bahia 2007 2.4
4 Minas Gerais 2008 2.7

Isso é um formato tabular, uma tabela que podemos encontrar em um BD relacional.



Verificando o tipo do df

python
type(df)
out:
pandas.core.frame.DataFrame
Ele nos diz que é um objeto Dataframe do pandas.


Reorganizando a ordem das colunas de forma fácil!

python
DataFrame(dados, columns = ['Estado', 'Taxa Desemprego', 'Ano'])
out:

Estado Taxa Desemprego Ano
0 Santa Catarina 1.5 2004
1 Rio de Janeiro 1.7 2005
2 Tocantins 1.6 2006
3 Bahia 2.4 2007
4 Minas Gerais 2.7 2008



Alterando o nome das palavras do índice!

python
df2 = DataFrame(dados,
               columns = ['Estado', 'Taxa Desemprego', 'Taxa Crescimento', 'Ano'],
               index = ['estado1', 'estado2', 'estado3', 'estado4', 'estado5'])

Mostando o DataFrame modificado

python
print(df2)
out:
                     Estado  Taxa Desemprego Taxa Crescimento   Ano
    estado1  Santa Catarina              1.5              NaN  2004
    estado2  Rio de Janeiro              1.7              NaN  2005
    estado3       Tocantins              1.6              NaN  2006
    estado4           Bahia              2.4              NaN  2007
    estado5    Minas Gerais              2.7              NaN  2008
Como a taxa Crescimento não existia no meu dicionário, ele preenche com NaN.



Retornando os valores do DataFrame

python
df.values
out:
    array([['Santa Catarina', 2004, 1.5],
           ['Rio de Janeiro', 2005, 1.7],
           ['Tocantins', 2006, 1.6],
           ['Bahia', 2007, 2.4],
           ['Minas Gerais', 2008, 2.7]], dtype=object)


Retornando o tipo de cada coluna

python
df2.dtypes
out:
    Estado               object
    Taxa Desemprego     float64
    Taxa Crescimento     object
    Ano                   int64
    dtype: object
Quando o pandas não reconhece o conteúdo, ele classifica o mesmo como String



Retornando as colunas do DF

python
df2.columns
out:
Index(['Estado', 'Taxa Desemprego', 'Taxa Crescimento', 'Ano'], dtype='object')


Imprimindo apenas uma coluna do DataFrame

python
df2['Estado']
out:
    estado1    Santa Catarina
    estado2    Rio de Janeiro
    estado3         Tocantins
    estado4             Bahia
    estado5      Minas Gerais
    Name: Estado, dtype: object



Imprimindo duas colunas do DF

python
df2[['Taxa Desemprego', 'Ano']]
out:

Taxa Desemprego Ano
estado1 1.5 2004
estado2 1.7 2005
estado3 1.6 2006
estado4 2.4 2007
estado5 2.7 2008

Quando eu estou imprimindo apenas 1 coluna, eu utilizo 1 colchete e o nome da coluna.

Já quando eu imprimir mais de 1 coluna, preciso passar uma lista de colunas para conseguir fazer essa operação.


Filtrando uma linha específica do meu DF

python
df2.filter(items = ['estado3'], axis = 0)
out:

Estado Taxa Desemprego Taxa Crescimento Ano
estado3 Tocantins 1.6 NaN 2006