2948 votes

Comment itérer sur les lignes d'un DataFrame ?

J'ai un DataFrames de pandas :

import pandas as pd
inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]
df = pd.DataFrame(inp)
print df

Sortie :

   c1   c2
0  10  100
1  11  110
2  12  120

Maintenant je veux itérer sur les lignes du cadre ci-dessus. Pour chaque ligne, je veux pouvoir accéder à ses éléments (valeurs dans les cellules) par le nom des colonnes. Donc, par exemple, je voudrais avoir quelque chose comme ça :

for row in df.rows:
   print row['c1'], row['c2']

Est-il possible de faire cela dans les pandas ?

J'ai trouvé question similaire . Mais cela ne me donne pas la réponse dont j'ai besoin. Par exemple, il y est suggéré d'utiliser :

for date, row in df.T.iteritems():

ou

for row in df.iterrows():

Mais je ne comprends pas ce que le row et comment je peux travailler avec lui.

2194voto

waitingkuo Points 7290

iterrows est un générateur qui produit à la fois l'index et la ligne

In [18]: for index, row in df.iterrows():
   ....:     print row['c1'], row['c2']
   ....:     
10 100
11 110
12 120

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X