Manipulando DataFrames
Manipulando Dados em DataFrames do Pandas
Criando um dicionário em 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!
from pandas import DataFrame
Convertendo o dicionário python para um DataFrame do Pandas!
df = DataFrame(dados)
Fazendo a visualização dos dados, criando um cabeçalho e mostrando as primeiras 5 primeiras linhas
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
type(df)
pandas.core.frame.DataFrame
Reorganizando a ordem das colunas de forma fácil!
DataFrame(dados, columns = ['Estado', 'Taxa Desemprego', 'Ano'])
| 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!
df2 = DataFrame(dados,
columns = ['Estado', 'Taxa Desemprego', 'Taxa Crescimento', 'Ano'],
index = ['estado1', 'estado2', 'estado3', 'estado4', 'estado5'])
Mostando o DataFrame modificado
print(df2)
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
Retornando os valores do DataFrame
df.values
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
df2.dtypes
Estado object
Taxa Desemprego float64
Taxa Crescimento object
Ano int64
dtype: object
Retornando as colunas do DF
df2.columns
Index(['Estado', 'Taxa Desemprego', 'Taxa Crescimento', 'Ano'], dtype='object')
Imprimindo apenas uma coluna do DataFrame
df2['Estado']
estado1 Santa Catarina
estado2 Rio de Janeiro
estado3 Tocantins
estado4 Bahia
estado5 Minas Gerais
Name: Estado, dtype: object
Imprimindo duas colunas do DF
df2[['Taxa Desemprego', 'Ano']]
| 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
df2.filter(items = ['estado3'], axis = 0)
| Estado | Taxa Desemprego | Taxa Crescimento | Ano | |
|---|---|---|---|---|
| estado3 | Tocantins | 1.6 | NaN | 2006 |