Scorri le colonne di un DataFrame Pandas
-
Usa la sintassi
getitem
([]
) per ripetere le colonne in Pandas DataFrame -
Usa
dataframe.iteritems()
per scorrere le colonne in Pandas Dataframe -
Usa
enumerate()
per ripetere i pandas su colonne
I DataFrame possono essere molto grandi e possono contenere centinaia di righe e colonne. È necessario iterare sulle colonne di un DataFrame ed eseguire operazioni sulle colonne individualmente come la regressione e molte altre.
Possiamo usare il cicli for
per iterare sulle colonne di un DataFrame. La sintassi di base del cicli for
è data di seguito:
for value in sequence:
# Body of Loop
Possiamo usare più metodi per eseguire il cicli for
su un DataFrame, ad esempio, la sintassi getitem (la []
), la funzione dataframe.iteritems()
, la funzione enumerate()
e l’uso di index di un DataFrame.
Usa la sintassi getitem
([]
) per ripetere le colonne in Pandas DataFrame
Possiamo usare le etichette delle colonne per eseguire il cicli for
sul DataFrame usando la sintassi getitem
([]
). Per esempio:
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
print(df)
print("------------------")
for column in df:
print(df[column].values)
Produzione:
a b c d
0 10 6 7 8
1 1 9 12 14
2 5 8 10 6
------------------
[10 1 5]
[6 9 8]
[ 7 12 10]
[ 8 14 6]
La funzione values()
viene utilizzata per estrarre gli elementi dell’oggetto come una lista.
Usa dataframe.iteritems()
per scorrere le colonne in Pandas Dataframe
Pandas fornisce la funzione dataframe.iteritems()
, che aiuta a iterare su un DataFrame e restituisce il nome della colonna e il suo contenuto come serie.
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
for (colname, colval) in df.iteritems():
print(colname, colval.values)
Produzione:
a [10 1 5]
b [6 9 8]
c [ 7 12 10]
d [ 8 14 6]
Usa enumerate()
per ripetere i pandas su colonne
enumerate()
con DataFrame restituisce l’indice e l’etichetta della colonna, che ci permette di iterare su di esso.
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
for (index, colname) in enumerate(df):
print(index, df[colname].values)
Produzione:
0 [10 1 5]
1 [6 9 8]
2 [ 7 12 10]
3 [ 8 14 6]
Possiamo utilizzare in modo molto efficiente uno dei metodi sopra riportati per iterare su DataFrame. Possiamo anche eseguire operazioni come regressioni su colonne individualmente. Ad esempio, possiamo impostare l’ultima colonna come variabile indipendente ed eseguire regressioni OLS con altre colonne come variabili dipendenti, come mostrato nell’esempio seguente:
import pandas as pd
import statsmodels.api as sm
import numpy as np
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
for column in df:
Y = df["d"]
X = df[column]
X = sm.add_constant(X)
model = sm.OLS(X, Y)
results = model.fit()
print(results.params)
Produzione:
0 1
d 0.094595 0.418919
0 1
d 0.094595 0.75
0 1
d 0.094595 0.959459
0 1
d 0.094595 1.0
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticolo correlato - Pandas DataFrame
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Converti un Float in un Integer in Pandas DataFrame
- Ordina Pandas DataFrame in base ai valori di una colonna
- Ottieni l'aggregato di Pandas Group-By e Sum