Les pandas appliquent une fonction à chaque ligne

Les pandas appliquent une fonction à chaque ligne
Pandas fournit de nombreuses fonctions qui facilitent l'analyse et la manipulation des données. Nous utilisons ces fonctions pour rendre nos tâches plus faciles et plus rapides. Nous appliquons les fonctions aux lignes et colonnes. Pour appliquer la fonction à chaque ligne dans une dataframe «pandas» spécifiée, nous utilisons la méthode applicable (). Lorsque nous devons invoquer n'importe quelle fonction pour mettre à jour chaque ligne dans une dataframe «pandas», nous utilisons la fonction «appliquer ()». Vous devez définir la variable Axe = 1 pour mettre une fonction à chaque ligne () dans le dataframe «pandas». Nous utilisons la fonction «Appliquer ()» dans «Pandas» dans ce guide avec quatre méthodes uniques en utilisant des séries, des fonctions personnalisées, des expressions Numpy et Lambda.

Syntaxe:

Dataframe_object.Appliquer (func, axe = 0, brut = false, result_type = aucun, args = (), ** kwargs)

Paramètres:

  1. Func: Une fonction personnalisée / intégrée qui peut être appliquée sur les lignes / colonnes.
  2. axe: colonnes (1), index (0)
  3. Skipna: Ignorez les valeurs NA / NULL lors du calcul du résultat.
  4. result_type: Type retourné du résultat comme la série, DataFrame, etc.
  5. Args: Spécifiez les arguments.

Méthode 1: Appliquer () avec une fonction personnalisée

Pour faire une certaine opération sur toutes les lignes dans le Pandas DataFrame, nous devons écrire une fonction qui fera le calcul et passera le nom de la fonction dans la méthode applicable (). Par là, la fonction est appliquée à chaque ligne.

pandas.Dataframe_object.Appliquer (Custom_Function)

Exemple:
Dans cet exemple, nous avons un dataframe nommé «Analyse» avec 4 colonnes de type entier. Maintenant, nous écrivons deux fonctions personnalisées sur ces 4 colonnes.

  1. Le «Operation1» ajoute des lignes dans toutes les colonnes. Le résultat sur chaque colonne est stocké dans la colonne «Résultat d'addition».
  2. Le «Operation2» multiplie les lignes dans toutes les colonnes. Le résultat sur chaque colonne est stocké dans la colonne «Résultat de la multiplication».
importer des pandas
# Créez le dataframe à l'aide de listes
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21 400,32,45],
[21 100 456,78],
[23 800,90,12],
[21 400,32,45],
[20,120,1,67],
[23,100,90,12],
[22 450,76,56],
[22,40,0,1],
[22,12,45,0]
], colonnes = ['POINTS1', 'POINTS2', 'POINTS3', 'POINT4'])
# Afficher le dataframe - Analyse
Impression (analyse)
# Fonction qui ajoute chaque ligne pour toutes les colonnes.
Def Operation1 (ligne):
return row [0] + row [1] + row [2] + row [3]
# Fonction qui ajoute chaque ligne pour toutes les colonnes.
Def Operation2 (ligne):
RETOUR ROW [0] * Row [1] * Row [2] * Row [3]
# Passez la fonction à la méthode Appliquer () et stockez-la dans la colonne «Addition Result»
Analyse [«Résultat d'addition»] = Analyse.Appliquer (Operation1, axe = 1)
# Passez la fonction à la méthode Appliquer () et stockez-la dans la colonne 'Multiplication Result'
Analyse [«Résultat de la multiplication»] = Analyse.Appliquer (Operation2, axe = 1)
imprimer()
Impression (analyse)

Sortir:

Explication:
Nous passons la fonction «Operation1» et «Operation2» à la fonction appliquer () séparément l'une après l'autre. Vous pouvez voir que la somme de toutes les valeurs sur chaque ligne est stockée dans la colonne «Résultat d'addition» et que le produit de toutes les valeurs sur chaque ligne est stocké dans la colonne «Multiplication Result».

Méthode 2: Appliquer () avec l'expression de lambda

Ici, nous passons le lambda en tant que paramètre à la fonction applique () et faisons le calcul en lui-même.

pandas.Dataframe_object.Appliquer (Lambda x: calcul, axe = 1)

Exemple:
Ajoutons et multiplions quatre lignes comme l'exemple précédent et stockons-les en deux colonnes.

importer des pandas
# Créez le dataframe à l'aide de listes
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21 400,32,45],
[21 100 456,78],
[23 800,90,12],
[21 400,32,45],
[20,120,1,67],
[23,100,90,12],
[22 450,76,56],
[22,40,0,1],
[22,12,45,0]
], colonnes = ['POINTS1', 'POINTS2', 'POINTS3', 'POINT4'])
# Ajoutez toutes les lignes et stockez-les dans la colonne 'Addition Result'.
Analyse [«Résultat d'addition»] = Analyse.Appliquer (Lambda Record: Record [0] + Record [1] + Record [2] + Record [3], axe = 1)
# Multipliez toutes les lignes et stockez-les dans la colonne 'Multiplication Result'.
Analyse [«Résultat de la multiplication»] = Analyse.Appliquer (Lambda Record: Enregistrer [0] * Enregistrer [1] * Enregistrer [2] * Enregistrer [3], axe = 1)
imprimer()
Impression (analyse)

Sortir:

Explication:
Les expressions utilisées sont les suivantes:

# Ajoutez toutes les lignes et stockez-les dans la colonne 'Addition Result'.
Analyse [«Résultat d'addition»] = Analyse.Appliquer (Lambda Record: Record [0] + Record [1] + Record [2] + Record [3], axe = 1)
# Multipliez toutes les lignes et stockez-les dans la colonne 'Multiplication Result'.
Analyse [«Résultat de la multiplication»] = Analyse.Appliquer (Lambda Record: Enregistrer [0] * Enregistrer [1] * Enregistrer [2] * Enregistrer [3], axe = 1)

Vous pouvez voir que la somme de toutes les valeurs sur chaque ligne est stockée dans la colonne «Résultat d'addition» et que le produit de toutes les valeurs sur chaque ligne est stocké dans la colonne «Multiplication Result».

Méthode 3: Appliquer () avec pandas.Série

Si vous souhaitez modifier la ligne séparément ou si vous souhaitez mettre à jour toutes les lignes individuellement, vous pouvez le faire en passant la série à l'intérieur de l'expression de Lambda.

pandas.Dataframe_object.Appliquer (Lambda X: Pandas.Série (calcul), axe = 1)

Exemple:
Soustruons 10 de toutes les colonnes.

importer des pandas
# Créez le dataframe à l'aide de listes
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21 400,32,45],
[21 100 456,78],
[23 800,90,12],
[21 400,32,45],
[20,120,1,67],
[23,100,90,12],
[22 450,76,56],
[22,40,0,1],
[22,12,45,0]
], colonnes = ['POINTS1', 'POINTS2', 'POINTS3', 'POINT4'])
# Soustraire 10 de toutes les lignes
Analyse = analyse.Appliquer (Lambda Record: Pandas.Série ([enregistrer [0] -10, enregistrer [1] -10, enregistrer [2] -10, enregistrer [3] -10]), axe = 1)
Impression (analyse)

Sortir:

Explication:
Les expressions utilisées sont les suivantes:

Analyse = analyse.Appliquer (Lambda Record: Pandas.Série ([enregistrer [0] -10, enregistrer [1] -10, enregistrer [2] -10, enregistrer [3] -10]), axe = 1)

Vous pouvez voir que les valeurs dans toutes les colonnes sont soustraites de 10.

Méthode 4: Appliquer () avec des fonctions Numpy

Utilisons les fonctions Numpy pour effectuer le calcul sur toutes les lignes de Pandas DataFrame.

pandas.Dataframe_object.Appliquer (fonction numpy, axe = 1)

Exemple:
Utilisons la fonction Numpy pour renvoyer ce qui suit:

  1. La somme de toutes les lignes en utilisant Numpy.somme().
  2. La moyenne de toutes les lignes en utilisant Numpy.moyenne().
  3. Le maximum parmi chaque ligne en utilisant Numpy.Max ().
  4. Le minimum parmi chaque ligne en utilisant Numpy.min ().

Nous stockons le résultat dans quatre colonnes différentes.

importer des pandas
Importer Numpy
# Créez le dataframe à l'aide de listes
Analyse = Pandas.DataFrame ([[23,1000,34,56],
[23,700,11,0],
[23,20,4,2],
[21 400,32,45],
[21 100 456,78],
[23 800,90,12],
[21 400,32,45],
[20,120,1,67],
[23,100,90,12],
[22 450,76,56],
[22,40,0,1],
[22,12,45,0]
], colonnes = ['POINTS1', 'POINTS2', 'POINTS3', 'POINT4'])
# Obtenez une somme totale de lignes et stockez dans «Sum Result»
Analyse [«Sum Result»] = Analyse.Appliquer (Numpy.somme, axe = 1)
# Obtenez la moyenne des lignes et le magasin dans «Résultat de somme»
Analyse [«résultat moyen»] = analyse.Appliquer (Numpy.moyenne, axe = 1)
# Obtenez une valeur maximale de chaque ligne et stockez dans «Résultat maximum»
Analyse ['Max Result'] = Analyse.Appliquer (Numpy.Max, axe = 1)
# Obtenez une valeur minimale de chaque ligne et stockez dans «Min Result»
Analyse ['Min Result'] = Analyse.Appliquer (Numpy.min, axe = 1)
Impression (analyse)

Sortir:

Conclusion

Nous avons fourni ce guide pour expliquer comment utiliser la fonction applique () à chaque ligne. Notre objectif principal est de vous fournir une bonne explication facile et détaillée de ce concept de fonction «Appliquer ()». Nous avons démontré quatre exemples distincts dans lesquels nous avons montré comment appliquer la fonction à chaque ligne de «pandas» à l'aide de la fonction «Appliquer ()». Nous avons expliqué que lorsque nous voulons implémenter une fonction à chaque ligne de DataFrame dans Pandas, nous utilisons la fonction «Appliquer ()» à cet effet.