pandas applique

pandas applique
Python est un excellent langage pour effectuer une analyse des données, principalement en raison du fort écosystème des programmes Python axés sur la gestion des données. Un de ces outils, Pandas, simplifie considérablement l'importation et l'analyse des données. Chaque élément d'une dataframe est appliqué avec une fonction à l'aide de la méthode applicablemap (), qui reçoit et renvoie un scalaire. Le principal avantage des pandas est la capacité de transformer des données et d'appliquer des analyses. Ces fonctions (map (), appliquermap () et appliquer ()) sont toutes utilisées pour modifier les données, mais il existe des distinctions entre elles et des variations subtiles dans la façon dont elles sont utilisées. Cependant, nous ne discuterons que de l'applicationmap ().

Comment utiliser la fonction appliquée dans Windows

La fonction unique permet une action élémentaire dans l'ensemble de DataFrame est applicablemap (), qui n'est accessible que dans DataFrame.

Bien que certains scénarios fonctionnent plus rapidement qu'appliquer () grâce à l'optimisation, la comparaison des deux est toujours une bonne idée avant d'entreprendre des opérations plus lourdes.

Syntaxe:

Trame de données.ApplyMap (Func)

Paramètres

Func: Une seule valeur est renvoyée par une seule valeur dans une fonction Python.

Sortir: Dataframe transformé.

Seule le dataframe définit cette technique. Le dataframe.ApplyMap () accepte uniquement appelable. Pour DataFrames, ApplyMap () est en termes d'élément. Applatmmap () est plus efficace qu'appliquer (). Une pièce / élément à la fois peut être actionné à l'aide de la fonction applicablemap ().

Exemple 1: Ajoutez de la valeur à chaque élément de la trame de données à l'aide d'APPLICEMAP ()

Importons d'abord un ensemble de données en ligne (iris_data), afin que nous puissions appliquer notre fonction appliquée applicable () pour afficher les résultats.

Vous devez importer les pandas et ajouter l'objet «PD» au code pour prendre en charge les pandas. Les procédures mathématiques simples sont relativement plus faciles à effectuer. Selon l'axe que vous définissez, l'argument de la fonction lors de l'application () est utilisé sur une dataframe devient toute la ligne ou la colonne. Et si vous vouliez appliquer une fonction spécifique sur chaque composant de trame de données plutôt que sur chaque ligne et colonne? Lorsque cela se produit, ApplyMap () est utile. Envisagez une situation où une erreur a été commise, et vous souhaitez la corriger en en ajoutant une à chaque élément de vos données, car vous avez découvert que l'erreur était une inexactitude de mesure reproductible. Pour commencer, définissons une fonction d'assistance:

Nous avons défini une fonction add_one et passé l'élément comme argument. Il renverra l'élément + 1, ce qui signifie qu'il en ajoutera un à chaque entrée de données dans l'ensemble de données. Appliquons-le à chaque élément de la trame de données d'origine, à l'exclusion de la colonne cible, en utilisant ApplyMap ().

Si vous contrastez cette sortie avec l'original, vous verrez que chaque entrée en a ajouté une. Il démontre un potentiel de fonction applique en application.

Exemple 2: Calcul de la longueur de chaque élément du cadre de données à l'aide d'APPLICATIONMAP ()

Tout comme l'exemple précédent, nous importerons des pandas et un ensemble de données pour commencer le travail. Maintenant, à quoi utilise la fonction applicablemap ()? Est-ce qu'il fonctionne sur des cadres de données, ou appliquera-t-il une fonction à chaque élément du cadre de données? Par exemple, avec ce cadre de données, nous l'avons créé ici. Nous avons toutes ces différentes valeurs. La fonction applicablemap () prendra une fonction et l'élément l'exécutera sur la valeur unique de toute cette trame de données, puis renvoie une trame de données avec quel que soit le résultat de cette fonction. Maintenant, comme les cadres de données ont souvent des données de différents types dans différentes colonnes, l'applicationmap () est un peu moins courant d'une fonction à utiliser que l'application () ou la map ().

Comme vu ci-dessus, nous avons quelques nombres dans les colonnes et quelques chaînes de caractère. Donc, si nous voulions passer une fonction qui ne fonctionne que sur des chiffres dans applatmap (), cela va lancer une erreur car elle peut s'appliquer à la colonne de prix. Cependant, d'autres colonnes sont une chaîne. Donc, ça ne fonctionnerait pas là-dessus. Nous devons nous assurer de passer une fonction qui va fonctionner sur les nombres et les chaînes. Ci-dessous, nous avons défini une fonction qui devrait fonctionner sur des nombres ou des chaînes:

Le script précédent convertira ces numéros en une chaîne en utilisant la fonction str (). Ensuite, il vérifiera la longueur à l'aide de la fonction Len (). Donc, nous pouvons définir cette fonction. Si nous passons cela à ApplicationMap (), nous obtiendrons une trame de données en tant que sortie ayant la longueur de toutes ces différentes entrées dans notre cadre de données.

Exemple 3: Modifiez / remplacez les valeurs des éléments de trame de données à l'aide de la fonction applicablemap ()

La fonction applicable () de Pandas utilise une fonction définie par l'utilisateur pour mettre à jour le contenu élément par éléments de la trame de données après avoir reçu une trame de données Pandas comme entrée. Avec un dictionnaire, nous pouvons créer une fonction lambda qui donnera une nouvelle valeur pour chaque élément de la trame de données en tant que sortie pour mettre à jour les valeurs d'un cadre de données. Appliquons la même illustration aux fonctions Replace () et map () de la bibliothèque Pandas pour remplacer les valeurs dans un cadre de données par celles d'un dictionnaire.

En utilisant la fonction échantillon () dans le module aléatoire, nous produirons quelques données d'échantillon.

Maintenant, un cadre de données avec un type de données de chaîne sera créé.

Nous voulons remplacer certaines des valeurs du cadre de données par de nouvelles. Ici, nous allons construire un dictionnaire avec les nouvelles valeurs servant de valeurs de dictionnaire et les anciennes valeurs servant de clés.

Nous pouvons désormais mettre à jour les valeurs élément par élément à l'aide de la fonction Pandas ApplyMap (). La fonction lambda sera adoptée en entrée dans la fonction applatmap (). L'entrée de la fonction lambda est un élément, et sa sortie est le résultat de l'utilisation d'un dictionnaire pour interroger la clé.

Et par conséquent, nous recevons une trame de données avec des valeurs mises à jour.

Exemple 4: Alter les valeurs / éléments d'une trame de données à l'aide de la fonction applicablemap ()

Nous ferons d'abord un cadre de données avec des lignes et des colonnes spécifiques et spécifier les noms de ses index.

Multiplions chaque élément du cadre de données par 10.

Chaque composant du DF DataFrame est multiplié, et la sortie est enregistrée dans l'ALT DF DataFrame. La fonction applicablemap () reçoit une fonction lambda comme un paramètre et renvoie un résultat en multipliant chaque élément ou valeur par 10. En conséquence, les éléments de DataFrame DF sont tous mis à l'échelle de 10. Lorsqu'une fonction sans nom est nécessaire pour une brève durée, les fonctions lambda sont utilisées. En règle générale, nous l'utilisons comme argument à une fonction d'ordre supérieur dans Python. Parallèlement aux méthodes intégrées comme les applications applicables () et filter (), les fonctions lambda sont utilisées.

Nous pouvons appliquer diverses opérations aux composants de DataFrame en plus des composants mathématiques.

Comme vous pouvez le voir dans l'image précédente, nous avons ajouté le .99 à chaque valeur dans le cadre de données DF. Nous pouvons également utiliser des valeurs de chaîne pour ajouter les données au lieu de données numériques.

Conclusion

Dans cet article, nous avons enseigné comment vous pouvez utiliser la fonction appliquée () dans Python à l'aide de la bibliothèque Pandas. Nous avons vu que la méthode applicable () fonctionne sur l'ensemble de la trame de données sur une base élément par élément. Cela nous a appris à utiliser le Python Pandas DataFrame.Méthode appliquée en applicationmap (). Nous avons travaillé à travers des exemples en utilisant cette méthode sur le dataframe pour comprendre comment ajouter des valeurs, calculer la longueur et remplacer et modifier les valeurs de chaque élément de notre trame de données à l'aide de la fonction applicablemap ().