Comment parcourir les lignes d'un DataFrame dans Pandas
-
Attribut
index
pour parcourir les lignes dans Pandas DataFrame -
Méthode
loc[]
pour parcourir les lignes de DataFrame en Python -
Méthode
iloc[]
pour parcourir les lignes de DataFrame en Python -
pandas.DataFrame.iterrows()
pour parcourir les lignes pandas -
pandas.DataFrame.itertuples
pour parcourir les lignes pandas -
pandas.DataFrame.apply
pour parcourir les lignes pandas
Nous pouvons parcourir les lignes d’un Pandas DataFrame en utilisant l’attribut index
du DataFrame. Nous pouvons également parcourir les lignes de DataFrame Pandas en utilisant les méthodes loc()
, iloc()
, iterrows()
, itertuples()
, iteritems()
et apply()
des objets DataFrame.
Nous utiliserons le DataFrame ci-dessous comme exemple dans les sections suivantes.
import pandas as pd
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
income1 = [10, 20, 10, 15, 10, 12]
income2 = [20, 30, 10, 5, 40, 13]
df = pd.DataFrame({"Date": dates, "Income_1": income1, "Income_2": income2})
print(df)
Production:
Date Income_1 Income_2
0 April-10 10 20
1 April-11 20 30
2 April-12 10 10
3 April-13 15 5
4 April-14 10 40
5 April-16 12 13
Attribut index
pour parcourir les lignes dans Pandas DataFrame
L’attribut Pandas DataFrame index
donne un objet range de la ligne supérieure à la ligne inférieure d’un DataFrame. Nous pouvons utiliser la plage pour parcourir les lignes dans Pandas.
import pandas as pd
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
income1 = [10, 20, 10, 15, 10, 12]
income2 = [20, 30, 10, 5, 40, 13]
df = pd.DataFrame({"Date": dates, "Income_1": income1, "Income_2": income2})
for i in df.index:
print(
"Total income in "
+ df["Date"][i]
+ " is:"
+ str(df["Income_1"][i] + df["Income_2"][i])
)
Production:
Total income in April-10 is:30
Total income in April-11 is:50
Total income in April-12 is:20
Total income in April-13 is:20
Total income in April-14 is:50
Total income in April-16 is:25
Il ajoute Income_1
et Income_2
de chaque ligne et imprime le revenu total.
Méthode loc[]
pour parcourir les lignes de DataFrame en Python
La méthode loc[]
est utilisée pour accéder à une ligne à la fois. Lorsque nous utilisons la méthode loc[]
dans la boucle via DataFrame, nous pouvons parcourir les lignes de DataFrame.
import pandas as pd
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
income1 = [10, 20, 10, 15, 10, 12]
income2 = [20, 30, 10, 5, 40, 13]
df = pd.DataFrame({"Date": dates, "Income_1": income1, "Income_2": income2})
for i in range(len(df)):
print(
"Total income in "
+ df.loc[i, "Date"]
+ " is:"
+ str(df.loc[i, "Income_1"] + df.loc[i, "Income_2"])
)
Production:
Total income in April-10 is:30
Total income in April-11 is:50
Total income in April-12 is:20
Total income in April-13 is:20
Total income in April-14 is:50
Total income in April-16 is:25
Ici, range(len(df))
génère un objet range à boucler sur des lignes entières dans le DataFrame.
Méthode iloc[]
pour parcourir les lignes de DataFrame en Python
L’attribut Pandas DataFrame iloc
est également très similaire à l’attribut loc
. La seule différence entre loc
et iloc
est que dans loc
nous devons spécifier le nom de la ligne ou de la colonne à laquelle accéder tandis que dans iloc
nous spécifions l’index de la ligne ou de la colonne à accéder.
import pandas as pd
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
income1 = [10, 20, 10, 15, 10, 12]
income2 = [20, 30, 10, 5, 40, 13]
df = pd.DataFrame({"Date": dates, "Income_1": income1, "Income_2": income2})
for i in range(len(df)):
print(
"Total income in " + df.iloc[i, 0] + " is:" + str(df.iloc[i, 1] + df.iloc[i, 2])
)
Production:
Total income in April-10 is:30
Total income in April-11 is:50
Total income in April-12 is:20
Total income in April-13 is:20
Total income in April-14 is:50
Total income in April-16 is:25
Ici, l’index 0
représente la 1ère colonne de DataFrame, c’est-à-dire Date
, l’index 1
représente la colonne Income_1
et l’index 2
représente la colonne Income_2
.
pandas.DataFrame.iterrows()
pour parcourir les lignes pandas
pandas.DataFrame.iterrows()
retourne l’index de la ligne et toutes les données de la ligne sous forme de Series
. Par conséquent, nous pourrions utiliser cette fonction pour parcourir les lignes dans Pandas DataFrame.
import pandas as pd
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
income1 = [10, 20, 10, 15, 10, 12]
income2 = [20, 30, 10, 5, 40, 13]
df = pd.DataFrame({"Date": dates, "Income_1": income1, "Income_2": income2})
for index, row in df.iterrows():
print(
"Total income in "
+ row["Date"]
+ " is:"
+ str(row["Income_1"] + row["Income_2"])
)
Production:
Total income in April-10 is:30
Total income in April-11 is:50
Total income in April-12 is:20
Total income in April-13 is:20
Total income in April-14 is:50
Total income in April-16 is:25
pandas.DataFrame.itertuples
pour parcourir les lignes pandas
pandas.DataFrame.itertuples
retourne un objet pour itérer sur des tuples pour chaque ligne avec le premier champ comme index et champs restants comme valeurs de colonne. Par conséquent, nous pourrions également utiliser cette fonction pour parcourir les lignes dans Pandas DataFrame.
import pandas as pd
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
income1 = [10, 20, 10, 15, 10, 12]
income2 = [20, 30, 10, 5, 40, 13]
df = pd.DataFrame({"Date": dates, "Income_1": income1, "Income_2": income2})
for row in df.itertuples():
print("Total income in " + row.Date + " is:" + str(row.Income_1 + row.Income_2))
Production:
Total income in April-10 is:30
Total income in April-11 is:50
Total income in April-12 is:20
Total income in April-13 is:20
Total income in April-14 is:50
Total income in April-16 is:25
pandas.DataFrame.apply
pour parcourir les lignes pandas
pandas.DataFrame.apply
retourne un DataFrame
à la suite de l’application de la fonction donnée le long de l’axe donné du DataFrame.
Syntaxe:
DataFrame.apply(self, func, axis=0, raw=False, result_type=None, args=(), **kwds)
Où, func
représente la fonction à appliquer et axis
représente l’axe le long duquel la fonction est appliquée. Nous pouvons utiliser axis=1
ou axis = 'columns'
pour appliquer une fonction à chaque ligne.
import pandas as pd
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
income1 = [10, 20, 10, 15, 10, 12]
income2 = [20, 30, 10, 5, 40, 13]
df = pd.DataFrame({"Date": dates, "Income_1": income1, "Income_2": income2})
print(
df.apply(
lambda row: "Total income in "
+ row["Date"]
+ " is:"
+ str(row["Income_1"] + row["Income_2"]),
axis=1,
)
)
Production:
0 Total income in April-10 is:30
1 Total income in April-11 is:50
2 Total income in April-12 is:20
3 Total income in April-13 is:20
4 Total income in April-14 is:50
5 Total income in April-16 is:25
dtype: object
Ici, le mot clé lambda
est utilisé pour définir une fonction en ligne qui est appliquée à chaque ligne.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArticle connexe - Pandas DataFrame
- Comment obtenir les en-têtes de colonne de Pandas DataFrame sous forme de liste
- Comment supprimer une colonne de Pandas DataFrame
- Comment convertir la colonne DataFrame en date-heure dans Pandas
- Comment convertir un float en un entier dans Pandas DataFrame
- Comment trier le DataFrame de Pandas par les valeurs d'une colonne
- Comment obtenir l'agrégat des Pandas par groupe et par somme
Article connexe - Pandas DataFrame Row
- Comment obtenir le nombre de lignes d'un Pandas DataFrame
- Comment mélanger au hasard les lignes DataFrame dans Pandas
- Filtrer les lignes des cadres de données en fonction des valeurs des colonnes dans Pandas
- Comment obtenir l'index de toutes les lignes dont la colonne particulière satisfait la condition donnée dans Pandas
- Les Pandas déposent des lignes en double