domingo, 18 de abril de 2021

Python - Crie um Dataframe do Pandas a partir de listas de tamanhos iguais

Dado um dicionário de listas de tamanhos iguais, a tarefa é criar um DataFrame do pandas a partir dele.

Existem várias maneiras de criar um DataFrame no Pandas. Uma maneira é converter um dicionário contendo listas de comprimentos iguais como valores. Vamos discutir como criar um Dataframe Pandas a partir de um dicionário de listas de tamanho igual com a ajuda de exemplos.

Exemplo #1: Dado um dicionário que contém o formato do críquete como chaves e uma lista das cinco principais equipes como valores.

# importa o pacote pandas
import pandas as pd

# Defina um dicionário contendo classificações ICC

rankings = {
    'test': ['India', 'South Africa', 'England',
    'New Zealand', 'Australia'],
    'odi': ['England', 'India', 'New Zealand',
    'South Africa', 'Pakistan'],
    't20': ['Pakistan', 'India', 'Australia', 
    'England', 'New Zealand']
}

# converte o dicionário num Dataframe
rankings_pd = pd.DataFrame(rankings)
  
# Incrementa o índice para que o índice comece em 1
# (começa em 0 por padrão)
rankings_pd.index += 1

print(rankings_pd)

Saída:

           test           odi          t20
1         India       England     Pakistan
2  South Africa         India        India
3       England   New Zealand    Australia
4   New Zealand  South Africa      England
5     Australia      Pakistan  New Zealand

Exemplo #2: Dadas três listas test_batsmen, odi_batsmen, t20_batsmen. Portanto, primeiro precisamos converter esses dados em um dicionário e, em seguida, converter o dicionário em DataFrame.

# Importa o pacote pandas
import pandas as pd

# Listas dos 5 melhores batedores para cada formato
test_batsmen = [
    'Virat Kohli', 'Steve Smith', 'Kane Williamson',
    'Joe Root', 'David Warner'
]
odi_batsmen = [
    'Virat Kohli', 'Rohit Sharma', 'Joe Root',
    'David Warner', 'Babar Azam'
]
t20_batsmen = [
    'Babar Azam', 'Aaron Finch', 'Colin Munro',
    'Lokesh Rahul', 'Fakhar Zaman'
]

# Defina um dicionário contendo classificações ICC para batedores
rankings_batsmen = {
    'test': test_batsmen,
    'odi': odi_batsmen,
    't20': t20_batsmen
}

# Converte o dicionário num DataFrame
rankings_batsmen_pd = pd.DataFrame(rankings_batsmen)

rankings_batsmen_pd.index += 1

print(rankings_batsmen_pd)

Saída:

              test           odi           t20
1      Virat Kohli   Virat Kohli    Babar Azam
2      Steve Smith  Rohit Sharma   Aaron Finch
3  Kane Williamson      Joe Root   Colin Munro
4         Joe Root  David Warner  Lokesh Rahul
5     David Warner    Babar Azam  Fakhar Zaman

Artigo escrito por rituraj_jain e traduzido por Acervolima de Python | Create a Pandas Dataframe from a dict of equal length lists.

Licença

0 comentários:

Postar um comentário