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)
Sortie :
0 1 1 4 2 9 3 16 4 25 dtype: int64
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)
Sortie :
a b 0 1.00 4.00 1 2.00 5.00 2 3.00 6.00
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)
Sortie :
0 3.00 1 3.00 2 3.00 dtype: float64
Utilisation Résumé
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!