HOWTO · Pandas
Prendi sezioni di colonna di DataFrame in Pandas
Questo tutorial mostra come prendere sezioni di colonna nei pandas usando i metodi .loc() ,. iloc() e .reindex()
In questa pagina
L’affettatura delle colonne in Pandas ci consente di suddividere il dataframe in sottoinsiemi, il che significa che crea un nuovo dataframe Pandas dall’originale con solo le colonne richieste. Lavoreremo con il seguente dataframe come esempio per l’affettatura delle colonne.
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.797321 0.468894 0.335781 0.956516
1 0.546303 0.567301 0.955228 0.557812
2 0.385315 0.706735 0.058784 0.578468
3 0.751037 0.248284 0.172229 0.493763
Usa loc() per dividere le colonne in Pandas DataFrame
La libreria Pandas ci fornisce più di un metodo per eseguire l’affettatura delle colonne. Il primo sta usando la funzione loc().
La funzione Pandas loc() ci permette di accedere agli elementi di un dataframe usando nomi di colonne o etichette di indice. La sintassi per la suddivisione di colonne utilizzando loc():
dataframe.loc[:, [columns]]
Esempio:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
df1 = df.loc[:, "a":"c"] # Returns a new dataframe with columns a,b and c
print(df1)
Produzione:
a b c
0 0.344952 0.611792 0.213331
1 0.907322 0.992097 0.080447
2 0.471611 0.625846 0.348778
3 0.656921 0.999646 0.976743
Usa iloc() per suddividere le colonne in Pandas DataFrame
Possiamo anche usare la funzione iloc() per accedere agli elementi di un dataframe usando l’indice intero di righe e colonne. La sintassi per la suddivisione di colonne utilizzando iloc():
dataframe.iloc[:, [column - index]]
Esempio:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
df1 = df.iloc[:, 0:2] # Returns a new dataframe with first two columns
print(df1)
Produzione:
a b
0 0.034587 0.070249
1 0.648231 0.721517
2 0.485168 0.548045
3 0.377612 0.310408
Usa redindex() per suddividere le colonne in Pandas DataFrame
La funzione reindex() può anche essere usata per alterare gli indici del dataframe e può essere usata per affettare le colonne. La funzione reindex() può contenere molti argomenti ma per l’affettamento delle colonne, avremo solo bisogno di fornire alla funzione i nomi delle colonne.
La sintassi per la suddivisione di colonne utilizzando reindex():
dataframe.reindex(columns=[column_names])
Esempio:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
# Returns a new dataframe with c and b columns
df1 = df.reindex(columns=["c", "b"])
print(df1)
Produzione:
c b
0 0.429790 0.962838
1 0.605381 0.463617
2 0.922489 0.733338
3 0.741352 0.118478