Come dividere una colonna di stringhe in pandas in più colonne


È possibile utilizzare la seguente sintassi di base per dividere una colonna di stringhe in un DataFrame panda in più colonne:

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

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempio 1: dividere la colonna per virgola

Il codice seguente mostra come dividere una colonna in un DataFrame panda, in base a una virgola, in due colonne separate:

 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

Tieni presente che puoi anche riorganizzare le colonne dopo aver eseguito la divisione, se lo desideri:

 #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

Esempio 2: colonna divisa in base ad altri delimitatori

Possiamo usare la stessa sintassi per dividere una colonna con altri delimitatori.

Ad esempio, possiamo dividere una colonna per uno spazio :

 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

Puoi anche dividere una colonna con una 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 questa sintassi possiamo dividere una colonna in base a qualsiasi delimitatore che desideriamo.

Risorse addizionali

Come aggiungere righe a un DataFrame Pandas
Come aggiungere un array Numpy a un DataFrame Pandas
Come contare il numero di righe in Pandas DataFrame

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *