Application de fonctions à plusieurs colonnes d'un dataframe Pandas
Supposons que nous ayons un ensemble de données dans un dataframe Pandas avec plusieurs colonnes et que nous souhaitions appliquer une fonction personnalisée à deux de ces colonnes. Cela peut être une tâche courante dans la manipulation et l’analyse des données. Voici un guide étape par étape pour y parvenir :
1. Définir la fonction :
Définissez une fonction personnalisée qui prend deux entrées, représentant les valeurs des deux colonnes. Cette fonction doit effectuer l'opération souhaitée sur ces entrées.
2. Appliquer la fonction à l'aide de Lambda :
Pandas fournit une fonction lambda qui nous permet d'appliquer une fonction à chaque ligne d'une trame de données. Nous pouvons en tirer parti pour appliquer notre fonction personnalisée aux colonnes sélectionnées.
La syntaxe pour appliquer une fonction à plusieurs colonnes à l'aide de lambda est :
df['new_column_name'] = df.apply(lambda x: your_function(x.column_1, x.column_2), axis=1)
Où :
3. Exemple :
Considérons l'exemple de dataframe suivant :
df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]})
Supposons que nous souhaitions créer une nouvelle colonne appelée « col_3 » qui contient une sous-liste de la liste d'origine mylist basée sur des valeurs dans col_1 et col_2. Nous pouvons définir une fonction get_sublist comme suit :
def get_sublist(sta, end): return ['a', 'b', 'c', 'd', 'e', 'f'][sta:end+1]
Maintenant, nous pouvons appliquer cette fonction en utilisant lambda comme :
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
Cela crée une nouvelle colonne 'col_3' dans le dataframe avec les sous-listes souhaitées.
4. Alternatives :
L'utilisation de lambda est une approche concise et polyvalente pour appliquer des fonctions à plusieurs colonnes de dataframe. Cependant, si vous préférez une méthode plus explicite, vous pouvez également utiliser la méthode apply() avec une fonction personnalisée qui prend une série en entrée. Cette approche implique de définir une fonction qui prend une seule entrée représentant une ligne, puis manipule cette ligne spécifique selon les besoins.
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!