Maison > développement back-end > Tutoriel Python > En quoi les « map », « applymap » et « apply » de Pandas diffèrent-ils dans la manipulation des données ?

En quoi les « map », « applymap » et « apply » de Pandas diffèrent-ils dans la manipulation des données ?

Linda Hamilton
Libérer: 2024-12-15 09:39:11
original
292 Les gens l'ont consulté

How Do Pandas' `map`, `applymap`, and `apply` Differ in Data Manipulation?

Plongée dans les nuances de « map », « applymap » et « apply » dans Pandas

Dans le domaine de la manipulation des données, la bibliothèque Pandas constitue la pierre angulaire, offrant une multitude de méthodes pour gérer efficacement les données tabulaires. Parmi ceux-ci, « map », « applymap » et « apply » revêtent une importance significative. Cependant, leurs nuances subtiles peuvent parfois dérouter les utilisateurs.

Distinguer 'apply' et 'applymap'

Bien que les deux méthodes fonctionnent sur des DataFrames, leur principale distinction réside dans la granularité de leur candidature. "apply" fonctionne par ligne ou par colonne, permettant d'extraire des valeurs spécifiques ou d'effectuer des calculs sur des lignes ou des colonnes entières.

D'autre part, "applymap" fonctionne sur une base élément par élément, en traitant chaque valeur de cellule individuelle dans le DataFrame. Ceci est particulièrement utile lorsque vous devez appliquer une fonction à chaque élément du DataFrame, comme le formatage ou la conversion de types de données.

Présentation de la « carte » pour les séries

Series, l'équivalent unidimensionnel des DataFrames, possède également sa propre méthode pour l'application de fonctions par éléments : « map ». Contrairement à « applymap », qui fonctionne sur des DataFrames entiers, « map » est spécifiquement conçu pour les séries.

Exemples pour éclairer l'utilisation

Pour illustrer ces méthodes, considérez ce qui suit DataFrame :

b d e
Utah -0.03 1.08 1.28
Ohio 0.65 0.83 -1.55
Texas 0.51 -0.88 0.20
Oregon -0.49 -0.48 -0.31

En utilisant « appliquer », nous pouvons calculer la plage (max moins min) de chaque column :

df.apply(lambda x: x.max() - x.min())
Copier après la connexion

Avec 'applymap', nous pouvons formater chaque valeur à virgule flottante sous forme de chaîne :

df.applymap(lambda x: '%.2f' % x)
Copier après la connexion

Enfin, en utilisant 'map' sur la colonne 'e' de le DataFrame :

df['e'].map(lambda x: '%.2f' % x)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal