Maison > développement back-end > Tutoriel Python > Comment puis-je appliquer une fonction élément par élément à plusieurs colonnes Pandas DataFrame ?

Comment puis-je appliquer une fonction élément par élément à plusieurs colonnes Pandas DataFrame ?

Barbara Streisand
Libérer: 2024-12-04 01:15:10
original
380 Les gens l'ont consulté

How Can I Apply a Function Element-Wise to Multiple Pandas DataFrame Columns?

Pandas : application de fonctions à plusieurs colonnes

Problème :

Étant donné une fonction et un DataFrame Pandas avec plusieurs colonnes, comment pouvons-nous appliquer la fonction élément par élément à chaque paire de valeurs correspondantes dans le colonnes ?

Solution :

Il existe un moyen efficace d'y parvenir en utilisant la fonction lambda et la méthode d'application de Pandas :

def get_sublist(sta, end):
    return mylist[sta:end+1]

df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
Copier après la connexion

Cela s'applique la fonction get_sublist à chaque ligne du DataFrame, en utilisant les valeurs des colonnes « col_1 » et « col_2 » comme entrées. Le résultat est une nouvelle colonne, 'col_3', contenant les sous-listes calculées.

Utilisation :

Considérez l'exemple suivant :

df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]})
mylist = ['a','b','c','d','e','f']

# Apply the function and create a new column
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)

print(df)
Copier après la connexion

Sortie :

  ID  col_1  col_2            col_3
0  1      0      1       ['a', 'b']
1  2      2      4  ['c', 'd', 'e']
2  3      3      5  ['d', 'e', 'f']
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