Application d'une fonction à plusieurs colonnes dans un DataFrame Pandas
Considérez la situation suivante dans laquelle vous disposez d'un DataFrame contenant plusieurs colonnes et une fonction personnalisée vous souhaitez appliquer à ces colonnes élément par élément pour créer un nouveau colonne.
Problème :
Supposons que vous ayez un DataFrame avec trois colonnes :
df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]})
Et une fonction :
def get_sublist(sta, end): return mylist[sta:end+1]
Votre objectif est d'appliquer get_sublist aux colonnes 'col_1' et 'col_2' de df pour obtenir une nouvelle colonne 'col_3' qui contient les sous-listes correspondantes de 'mylist'.
Solution :
Pour y parvenir, vous pouvez utiliser l'opération Pandas suivante :
df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
Voici une répartition des code:
En utilisant cette méthode, le DataFrame résultant aura la structure suivante :
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']
Notez que cette solution vous permet de passer n'importe quelle fonction personnalisée à la méthode apply() et appliquez-le à plusieurs colonnes simultanément. En accédant aux valeurs des colonnes via x.col_name, vous pouvez utiliser en toute sécurité les noms de colonnes même s'ils contiennent des espaces ou ont le même nom que les attributs DataFrame existants.
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!