Como usar a função pandas burst() (com exemplos)


Você pode usar a função pandas burst() para transformar cada elemento de uma lista embutida em um DataFrame.

Esta função usa a seguinte sintaxe básica:

 df. explode (' variable_to_explode ')

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Use a função explosivo() com Pandas DataFrame

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']] ,
                   ' position ':['Guard', 'Forward', 'Center'],
                   ' points ': [7, 14, 19]})

#view DataFrame
df

	team position points
0 [A, B, C] Guard 7
1 [D, E, F] Forward 14
2 [G, H, I] Center 19

Observe que a coluna equipe contém listas de nomes de equipes.

Podemos usar a função explode() para explodir cada elemento de cada lista em uma linha:

 #explode team column
df. explode (' team ')

        team position points
0 A Guard 7
0 B Guard 7
0 C Guard 7
1D Forward 14
1 E Forward 14
1 F Forward 14
2G Center 19
2H Center 19
2 I Center 19

Observe que a coluna equipe não contém mais listas. Nós “explodimos” cada item de cada lista em uma linha.

Observe também que algumas linhas agora têm o mesmo valor de índice.

Podemos usar a função reset_index() para redefinir o índice ao estourar a coluna da equipe:

 #explode team column and reset index of resulting dataFrame
df. explode (' team '). reset_index (drop= True )

	team position points
0 A Guard 7
1 B Guard 7
2 C Guard 7
3D Forward 14
4 E Forward 14
5 F Forward 14
6G Center 19
7 A.M. Center 19
8 I Center 19

Observe que cada linha agora possui um valor de índice exclusivo.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como dividir uma coluna de string no Pandas em várias colunas
Como dividir o Pandas DataFrame em vários DataFrames
Como dividir o Pandas DataFrame por valor de coluna

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *