Altro
Come iterare sulle righe in un DataFrame in Pandas?
Ho un DataFrame
di pandas:
import pandas as pd
inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]
df = pd.DataFrame(inp)
print df
Output:
c1 c2
0 10 100
1 11 110
2 12 120
Ora voglio iterare sulle righe di questo frame. Per ogni riga voglio poter accedere ai suoi elementi (valori nelle celle) tramite il nome delle colonne. Per esempio:
for row in df.rows:
print row['c1'], row['c2']
È possibile farlo in pandas?
Ho trovato questo domanda simile. Ma non mi dà la risposta di cui ho bisogno. Ad esempio, è suggerito lì per usare:
for date, row in df.T.iteritems():
o
for row in df.iterrows():
Ma non capisco cosa sia l'oggetto row
e come posso lavorare con esso.
1527
3
DataFrame.iterrows è un generatore che produce sia indice che riga
{{{184286}};!->
Dovreste usare
df.iterrows()
. Anche se iterare riga per riga non è particolarmente efficiente, dato che devono essere creati oggetti Serie.Potete anche usare
df.apply()
per iterare sulle righe e accedere a più colonne per una funzione.docs: DataFrame.apply()