Como dividir uma coluna de string no pandas em várias colunas


Você pode usar a seguinte sintaxe básica para dividir uma coluna de string em um DataFrame do pandas em várias colunas:

 #split column A into two columns: column A and column B
df[[' A ',' B ']] = df[' A ']. str . split (' , ', 1 , expand= True )

Os exemplos a seguir mostram como usar essa sintaxe na prática.

Exemplo 1: Dividir coluna por vírgula

O código a seguir mostra como dividir uma coluna em um DataFrame do pandas, com base em uma vírgula, em duas colunas separadas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs, West', 'Spurs, West', 'Nets, East'],
                   ' points ': [112, 104, 127]})

#view DataFrame
df

	team points
0 Mavs, West 112
1 Spurs, West 104
2 Nets, East 127

#split team column into two columns
df[[' team ', ' conference ']] = df[' team ']. str . split (' , ', 1 , expand= True )

#view updated DataFrame
df

	team points conference
0 Mavs 112 West
1 Spurs 104 West
2 Nets 127 East

Observe que você também pode reorganizar as colunas após realizar a divisão, se desejar:

 #reorder columns
df = df[[' team ', ' conference ', ' points ']]

#view DataFrame
df

	team conference points
0 Mavs West 112
1 Spurs West 104
2 Nets East 127

Exemplo 2: Dividir coluna por outros delimitadores

Podemos usar a mesma sintaxe para dividir uma coluna por outros delimitadores.

Por exemplo, podemos dividir uma coluna por um espaço :

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs West', 'Spurs West', 'Nets East'],
                   ' points ': [112, 104, 127]})

#split team column into two columns
df[[' team ', ' conference ']] = df[' team ']. str . split (' ', 1 , expand= True )

#view updated DataFrame
df

	team conference points
0 Mavs West 112
1 Spurs West 104
2 Nets East 127

Você também pode dividir uma coluna com uma barra :

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs/West', 'Spurs/West', 'Nets/East'],
                   ' points ': [112, 104, 127]})

#split team column into two columns
df[[' team ', ' conference ']] = df[' team ']. str . split (' / ', 1 , expand= True )

#view updated DataFrame
df

	team conference points
0 Mavs West 112
1 Spurs West 104
2 Nets East 127

Usando esta sintaxe podemos dividir uma coluna por qualquer delimitador que desejarmos.

Recursos adicionais

Como adicionar linhas a um DataFrame do Pandas
Como adicionar um array Numpy a um DataFrame do Pandas
Como contar o número de linhas no Pandas DataFrame

Add a Comment

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