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
Linda Hamiltonoriginal
2024-12-15 09:39:11293parcourir

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())

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

df.applymap(lambda x: '%.2f' % x)

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

df['e'].map(lambda x: '%.2f' % x)

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!

Déclaration:
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