Les pandas itéèrent sur les rangées

Les pandas itéèrent sur les rangées
Tout au long de cet article, nous découvrirons diverses méthodes et techniques que nous pouvons utiliser pour itérer sur les lignes dans un pandas dataframe.

Exemple de dataframe

Commençons par définir un exemple de dataframe. Après cela, n'hésitez pas à utiliser votre DataFrame comme vous le voyez bien.

df = pd.Trame de données(
«DB»: [«mysql», «postgresql», «redis», «mongodb», «SQL Server»],
«Port»: [3306, 5480, 3309, 9001, 5500],
«Records»: [12000, 2344, 4500, 90000, 1000]
)
df

Le code ci-dessus doit créer une simple données de données comme indiqué ci-dessous:

Méthode 1 - Itérer les lignes à l'aide d'Iterrows ()

Les pandas nous fournissent la méthode iTerrows () qui nous permet d'itérer les lignes d'un dataframe. La fonction renvoie une paire d'index et de ligne comme une série.

Nous pouvons utiliser cette fonction pour itérer les lignes comme indiqué dans l'exemple ci-dessous:

pour _, ligne en df.iterrows ():
print (f "row \ n")

Dans l'exemple de code ci-dessus, nous utilisons la fonction iTerrows () pour récupérer chaque ligne à partir du dataframe. Le code ci-dessus doit retourner:

Notez que le _ dans la boucle représente l'index de la colonne dans le dataframe.

Méthode 2 - Itérer les lignes à l'aide d'Itertuples ()

La méthode itertuples () dans les pandas nous permet d'itérer les rangées d'un pandas dataframe. La fonction renvoie un objet pour nous permettre d'itérer sur les tuples nommés pour chaque ligne dans le dataframe.

La fonction vous permet également de préserver le type de données tout en itérant. Par conséquent, il est considéré comme plus rapide qu'Iterrows ().

Un exemple d'illustration est illustré dans le code ci-dessous:

pour la rangée en df.itertuples ():
Imprimer (ligne)

Le code ci-dessus doit retourner les tuples pour chaque ligne dans le dataframe. Un exemple de sortie est comme indiqué:

Pour exclure l'index du résultat, nous pouvons définir le paramètre d'index sur false. Un exemple est comme indiqué:

pour la rangée en df.itertuples (index = false):
Imprimer (ligne)

Le code ci-dessus doit retourner:

Pensées

Les pandas découragent généralement l'itération d'une dataframe. De plus, ne modifiez jamais les données tout en itérant car l'itération renvoie une copie des données et non une vue.

Si vous cherchez à modifier les données pendant l'itération, vous pouvez opter pour d'autres options telles que:

  1. Liste des compréhensions
  2. Vectorisation
  3. Routines cython.