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)
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)
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']
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!