Maison > développement back-end > Tutoriel Python > Quand utiliser Pandas `map`, `applymap` ou `apply` ?

Quand utiliser Pandas `map`, `applymap` ou `apply` ?

Linda Hamilton
Libérer: 2024-12-07 08:36:16
original
799 Les gens l'ont consulté

When to Use Pandas `map`, `applymap`, or `apply`?

Choisir parmi map, applymap et apply dans Pandas

Lorsque vous travaillez avec Pandas DataFrames, il est souvent nécessaire d'appliquer des fonctions aux données de diverses manières. Trois méthodes couramment utilisées pour la vectorisation sont map, applymap et apply. Chacun a son propre objectif et sa propre application.

Map

map est une méthode spécifique aux objets Series et applique une fonction à chaque élément de la série. Il attend une fonction qui prend une seule valeur en entrée et renvoie une seule valeur.

Exemple :

import pandas as pd

# Create a Series
series = pd.Series([1, 2, 3, 4, 5])

# Apply a function to each element
def square(x):
    return x**2

# Apply the function to the series using map
squared_series = series.map(square)

print(squared_series)
Copier après la connexion

Sortie :

0    1
1    4
2    9
3   16
4   25
dtype: int64
Copier après la connexion

Applymap

applymap applique une fonction à chaque élément d'un DataFrame, effectuant l'opération par élément. Comme map, il attend une fonction qui prend une seule valeur en entrée et renvoie une seule valeur.

Exemple :

# Create a DataFrame
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})

# Apply a function to each element of the DataFrame
def format_number(x):
    return "{:.2f}".format(x)

# Apply the function to the DataFrame using applymap
formatted_df = df.applymap(format_number)

print(formatted_df)
Copier après la connexion

Sortie :

   a  b
0  1.00  4.00
1  2.00  5.00
2  3.00  6.00
Copier après la connexion

Appliquer

apply applique une fonction à chaque ligne ou colonne d'un DataFrame, en fonction du paramètre d'axe. Il est plus polyvalent que map et applymap et peut gérer des fonctions qui nécessitent de transmettre plusieurs valeurs en entrées.

Exemple :

# Apply a function to each row of the DataFrame
def get_max_min_diff(row):
    return row.max() - row.min()

max_min_diff = df.apply(get_max_min_diff, axis=1)

print(max_min_diff)
Copier après la connexion

Sortie :

0    3.00
1    3.00
2    3.00
dtype: float64
Copier après la connexion

Utilisation Résumé

  • map : Application de fonction par élément à Series
  • applymap : Application de fonction par élément à DataFrame
  • apply : application de fonctions ligne/colonne à DataFrame, avec flexibilité gestion des entrées/sorties

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