Come dividere le colonne in pandas dataframe (con esempi)


È possibile utilizzare i seguenti metodi per suddividere le colonne in un DataFrame panda:

Metodo 1: suddivisione in base a nomi di colonne specifici

 df_new = df. loc [:,[' col1 ',' col4 ']]

Metodo 2: suddividere in base ai nomi delle colonne nell’intervallo

 df_new = df. loc [:, ' col1 ':' col4 ']

Metodo 3: taglio in base a posizioni specifiche dell’indice delle colonne

 df_new = df. iloc [:,[ 0,3 ] ]

Metodo 4: sezione in base all’intervallo di posizioni dell’indice delle colonne

 df_new = df. iloc [:, 0 : 3 ]

Nota la sottile differenza tra loc e iloc in ciascuno di questi metodi:

  • loc seleziona righe e colonne con etichette specifiche
  • iloc seleziona righe e colonne in posizioni intere specifiche

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con i seguenti DataFrame panda:

 import pandas as pd

#create DataFrame with six columns
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' steals ': [4, 3, 3, 2, 5, 4, 3, 8],
                   ' blocks ': [1, 0, 0, 3, 2, 2, 1, 5]})

#view DataFrame
print (df)

  team points assists rebounds steals blocks
0 A 18 5 11 4 1
1 B 22 7 8 3 0
2 C 19 7 10 3 0
3 D 14 9 6 2 3
4 E 14 12 6 5 2
5 F 11 9 5 4 2
6 G 20 9 9 3 1
7:28 4 12 8 5

Esempio 1: tagliato in base a nomi di colonne specifici

Possiamo utilizzare la seguente sintassi per creare un nuovo DataFrame che contenga solo le colonne team e rimbalza :

 #slice columns team and rebounds
df_new = df. loc [:, [' team ', ' rebounds ']]

#view new DataFrame
print (df_new)

  team rebounds
0 to 11
1 B 8
2 C 10
3 D 6
4 E 6
5 F 5
6 G 9
7:12 a.m.

Esempio 2: taglia in base ai nomi delle colonne nell’intervallo

Possiamo utilizzare la seguente sintassi per creare un nuovo DataFrame che contenga solo le colonne tra team e rimbalzi :

 #slice columns between team and rebounds
df_new = df. loc [:, ' team ': ' rebounds ']

#view new DataFrame
print (df_new)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Esempio 3: taglio in base a posizioni di indice di colonna specifiche

Possiamo utilizzare la seguente sintassi per creare un nuovo DataFrame che contenga solo le colonne nelle posizioni dell’indice 0 e 3 :

 #slice columns in index positions 0 and 3
df_new = df. iloc [ :,[ 0,3 ]]

#view new DataFrame
print (df_new)

  team rebounds
0 to 11
1 B 8
2 C 10
3 D 6
4 E 6
5 F 5
6 G 9
7:12 a.m.

Esempio 4: intervallo di posizioni dell’indice delle sezioni per colonna

Possiamo utilizzare la seguente sintassi per creare un nuovo DataFrame che contenga solo le colonne nell’intervallo di posizioni dell’indice compreso tra 0 e 3 :

 #slice columns in index position range between 0 and 3
df_new = df. iloc [:, 0 : 3 ]

#view new DataFrame
print (df_new)

  team points assists
0 to 18 5
1 B 22 7
2 C 19 7
3 D 14 9
4 E 14 12
5 F 11 9
6 G 20 9
7:28 a.m. 4

Nota : quando si utilizza un intervallo di posizioni dell’indice, l’ultima posizione dell’indice nell’intervallo non verrà inclusa. Ad esempio, la colonna dei rimbalzi nella posizione dell’indice 3 non è inclusa nel nuovo DataFrame.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Come rimuovere la prima riga in Pandas DataFrame
Come rimuovere la prima colonna in Pandas DataFrame
Come rimuovere le colonne duplicate in Pandas

Aggiungi un commento

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