quinta-feira, 22 de abril de 2021

Diferentes maneiras de criar um DataFrame pandas

DataFrame pandas é uma estrutura de dados rotulada bidimensional com colunas de tipos potencialmente diferentes. Geralmente é o objeto pandas mais comumente usado.

O DataFrame pandas pode ser criado de várias maneiras. Vamos discutir diferentes maneiras de criar um DataFrame, uma por uma.

Método #1: Criando Pandas DataFrame a partir de listas de listas.

# importando a biblioteca pandas
import pandas as pd

# inicializando uma lista com listas
data = [['tom', 10], ['nick', 15], ['juli', 14]]

# Criando um dataframe do pandas
df = pd.DataFrame(data, columns=['Nome', 'Idade'])

# mostrando o dataframe
print(df)

Saída:

   Nome  Idade
0   tom     10
1  nick     15
2  juli     14

Método #2: Criando DataFrame de um dicionário de narray/listas

Para criar DataFrame a partir de um dicionário de narray/listas, todos os narray devem ter o mesmo comprimento. Se o índice for passado, o índice de comprimento deve ser igual ao comprimento das matrizes. Se nenhum índice for passado, então, por padrão, o índice será o intervalo (n), onde n é o comprimento do array.

# importando a biblioteca pandas
import pandas as pd

dicionário = {
    'Nome': ['Tom', 'nick', 'krish', 'jack'],
    'Idade': [20, 21, 19, 18]
}

# Criando um dataframe a partir de um dicionário do python
df = pd.DataFrame(dicionário)

# mostrando o dataframe
print(df)

Saída:

    Nome  Idade
0    Tom     20
1   nick     21
2  krish     19
3   jack     18

Método #3: Cria um DataFrame de índices usando matrizes.

# importando a biblioteca pandas
import pandas as pd

# Inicializando um dicionário com arrays
data = {
    'Name': ['Tom', 'Jack', 'nick', 'juli'],
    'marks': [99, 98, 95, 90]
}

# criando um dataframe com index
df = pd.DataFrame(data, index=['rank1','rank2', 'rank3', 'rank4'])

# mostrando o dataframe
print(df)

Saída:

       Name  marks
rank1   Tom     99
rank2  Jack     98
rank3  nick     95
rank4  juli     90

Método #4: Criando Dataframe a partir de uma lista de dicionários

O DataFrame pandas pode ser criado passando listas de dicionários como dados de entrada. Por padrão, as chaves do dicionário são consideradas colunas.

# importando a biblioteca pandas
import pandas as pd

# inicializando uma lista com dicionários
data = [
    {'a': 1, 'b': 2, 'c':3},
    {'a':10, 'b': 20, 'c': 30}
]

# criando um dataframe
df = pd.DataFrame(data)

# mostrando o dataframe
print(df)

Saída:

    a   b   c
0   1   2   3
1  10  20  30

Outro exemplo para criar o DataFrame do pandas passando listas de dicionários e índices de linha.

# importando a biblioteca pandas
import pandas as pd

# inicializando uma lista com dicionários
data = [
    {'b': 2, 'c':3},
    {'a':10, 'b': 20, 'c': 30}
]

# criando um dataframe com index
df = pd.DataFrame(data, index=['primeiro', 'segundo'])

# mostrando o dataframe
print(df)

Saída:

           b   c     a
primeiro   2   3   NaN
segundo   20  30  10.0

Outro exemplo para criar o DataFrame do pandas a partir de listas de dicionários com índice de linha e índice de coluna.

import pandas as pd

data = [
    {'a': 1, 'b': 2},
    {'a': 5, 'b': 10, 'c': 20}
]
   
# Com dois índices de coluna, valores iguais às chaves de dicionário
df1 = pd.DataFrame(
    data,
    index=['first', 'second'],
    columns=['a', 'b']
)
   
# Com dois índices de coluna com um índice com outro nome
df2 = pd.DataFrame(
    data,
    index=['first', 'second'],
    columns=['a', 'b1']
)

# Mostra o primeiro dataframe
print (df1, "\n")

# Mostra o segundo dataframe
print (df2)

Saída:

        a   b
first   1   2
second  5  10 

        a  b1
first   1 NaN
second  5 NaN

Método #5: Criando DataFrame usando a função zip().

Duas listas podem ser mescladas usando a função list(zip()). Agora, crie o DataFrame do pandas chamando a função pd.DataFrame().

import pandas as pd 

Nome = ['tom', 'krish', 'nick', 'juli'] 

Idade = [25, 30, 26, 22] 

# obtenha a lista de tuplas de duas listas e mescle-as usando zip().
lista_de_tuplas = list(zip(Nome, Idade))  

# Convertendo listas de tuplas em Dataframe do pandas.
df = pd.DataFrame(
    lista_de_tuplas,
    columns=['Nome', 'Idade']
)

print(df)

Saída:

    Nome  Idade
0    tom     25
1  krish     30
2   nick     26
3   juli     22

Método #6: Criando DataFrame a partir de um cicionário de série.

Para criar DataFrame a partir de dicionários de série, o dicionário pode ser passado para formar um DataFrame. O índice resultante é a união de todas as séries de index passadas.

import pandas as pd 

d = {
    'one': pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd']),
    'two' : pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
}

# Criando dataframe
df = pd.DataFrame(d)

print(df)

Saída:

   one  two
a   10   10
b   20   20
c   30   30
d   40   40

Artigo escrito por Samdare B e traduzido por Acervolima de Different ways to create Pandas Dataframe.

Licença

0 comentários:

Postar um comentário