quinta-feira, 6 de agosto de 2020

Criando dataframes com pandas

Photo by La-Rel Easter on Unsplash

Podemos criar um dataframe de diversas maneiras e utilizar vários programas pra isso. Nesse tutorial vamos aprender a criar um dataframe com a biblioteca pandas e utilizando a linguagem de programação python.
É comum criar um dataframe a partir de um arquivo existente, ou de um banco de dados. Nos exemplos anteriores sempre criamos o dataframe a partir do arquivo filmes.csv. Nesse tutorial vamos criar um dataframe do zero, sem arquivos pré-existentes ou bancos de dados. Vamos criar um dataframe a partir de algumas listas.

Criando um dataframe pandas

Primeiro vamos criar listas com quatro elementos cada. Essas listas vão ser convertidas em colunas do dataframe, por isso é importante que os elementos das listas sejam homogêneos.

>>> import pandas as pd
>>> nome = ['Bruna', 'Heverton', 'Gelvani', 'Milena']
>>> u_nome = ['Oliveira', 'Ferreira', 'Silva', 'Reis']
>>> nascimento = [1989, 1997, 1988, 1999]

Depois vamos criar um dicionário com os nomes das colunas do dataframe. As chaves (keys) do dicionário serão os nomes das colunas no dataframe.

>>> pessoas = {'nome':nome, 'u_nome':u_nome, 'nascimento':nascimento}

Por fim, criamos o dataframe passando o dicionário pessoa para o método DataFrame().

>>> type(m_dataframe)
<class 'pandas.core.frame.DataFrame>
>>> m_dataframe
       nome    u_nome  nascimento
0     Bruna  Oliveira        1989
1  Heverton  Ferreira        1997
2   Gelvani     Silva        1988
3    Milena      Reis        1999

Nesse exemplo, os elementos das listas foram convertidos em elementos das colunas do nosso dataframe. E as chaves do dicionário pessoas dão nome às colunas do dataframe.
O padrão, quando criamos um dataframe, é o index ser numerado começando do número zero. Podemos mudar isso com o parâmetro index.

>>> m_dataframe = pd.DataFrame(pessoas, index=['a', 'b', 'c', 'd'])
>>> m_dataframe
       nome    u_nome  nascimento
a     Bruna  Oliveira        1989
b  Heverton  Ferreira        1997
c   Gelvani     Silva        1988
d    Milena      Reis        1999

Criando dataframes pandas com dicionários

Também podemos criar um dataframe a partir de uma lista de dicionários.

>>> pd.DataFrame(
... [
... {
... "nome": "Bruna",
... "u_nome": "Oliveira",
... "nascimento": 1989,
... },
... {
... "nome": "Heverton",
... "u_nome": "Ferreira",
... "nascimento": 1997,
... },
... {
... "nome": "Gelvani",
... "u_nome": "Silva",
... "nascimento": 1988,
... },
... {
... "nome": "Milena",
... "u_nome": "Reis",
... "nascimento": 1999,
... },
... ]
... )
       nome    u_nome  nascimento
0     Bruna  Oliveira        1989
1  Heverton  Ferreira        1997
2   Gelvani     Silva        1988
3    Milena      Reis        1999

Nesse exemplo, a ordem das colunas é a mesma das chaves do dicionário. Podemos mudar essa ordem com o parâmetro columns.

>>> pd.DataFrame(
... [
... {
... "nome": "Bruna",
... "u_nome": "Oliveira",
... "nascimento": 1989,
... },
... {
... "nome": "Heverton",
... "u_nome": "Ferreira",
... "nascimento": 1997,
... },
... {
... "nome": "Gelvani",
... "u_nome": "Silva",
... "nascimento": 1988,
... },
... {
... "nome": "Milena",
... "u_nome": "Reis",
... "nascimento": 1999,
... },
... ],
... columns=['nascimento', 'u_nome', 'nome']
... )
   nascimento    u_nome      nome
0        1989  Oliveira     Bruna
1        1997  Ferreira  Heverton
2        1988     Silva   Gelvani
3        1999      Reis    Milena

Mudamos a ordem das colunas passando uma lista com os nomes. A ordem das colunas segue a ordem da lista passada para o parâmetro columns.

Referência:
Método DataFrame()

0 comentários:

Postar um comentário