Seleziona più colonne in Pandas Dataframe

  1. Usa la sintassi __getitem__ ([]) per selezionare più colonne
  2. Usa i metodi iloc() e loc() per selezionare più colonne in Pandas

Potremmo incontrare problemi durante l’estrazione dei dati di più colonne da un Pandas DataFrame, principalmente perché trattano il Dataframe come un array bidimensionale. Per selezionare più colonne da un DataFrame, possiamo usare il metodo di indicizzazione di base passando l’lista dei nomi delle colonne alla sintassi getitem ([]), o i metodi iloc() e loc() forniti da Pandas biblioteca. Per questo tutorial, selezioneremo più colonne dal seguente DataFrame.

DataFrame di esempio:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])

print(df)

Produzione:

          a         b         c         d
0  0.255086  0.282203  0.342223  0.263599
1  0.744271  0.591687  0.861554  0.871859
2  0.420066  0.713664  0.770193  0.207427
3  0.014447  0.352515  0.535801  0.119759

Usa la sintassi __getitem__ ([]) per selezionare più colonne

Memorizzando i nomi delle colonne da estrarre in una lista e poi passandoli a [], possiamo selezionare più colonne dal DataFrame. Il codice seguente spiegherà come possiamo selezionare le colonne a e c dal DataFrame mostrato in precedenza.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])

print(df[['a','c']])

Produzione:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

Usa i metodi iloc() e loc() per selezionare più colonne in Pandas

Possiamo anche usare i metodi iloc() e loc() per selezionare più colonne.

Quando vogliamo utilizzare gli indici delle colonne per estrarli, possiamo usare iloc() come mostrato nell’esempio seguente:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])
print(df.iloc[:,[0,2]])

Produzione:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

Allo stesso modo, possiamo usare loc() quando vogliamo selezionare le colonne usando i loro nomi come mostrato di seguito:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])

print(df.loc[:,['a','c']])

Produzione:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

Articolo correlato - Pandas DataFrame

  • Sottrai due colonne di un DataFrame Pandas
  • Aggiungi una nuova colonna a DataFrame esistente con valore predefinito in Pandas