Maison  >  Article  >  développement back-end  >  Comment créer plusieurs nouvelles colonnes à partir d’une sortie à fonction unique dans Pandas ?

Comment créer plusieurs nouvelles colonnes à partir d’une sortie à fonction unique dans Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 15:09:02300parcourir

How to Create Multiple New Columns from a Single Function Output in Pandas?

Création de plusieurs nouvelles colonnes avec la fonction Pandas

Dans Pandas, il est possible d'appliquer une seule fonction à une colonne et de créer plusieurs nouvelles colonnes en fonction sur les valeurs de sortie.

Considérez le scénario suivant :

Vous disposez d'une fonction, extract_text_features, qui accepte une colonne de texte et renvoie 6 colonnes de sortie. Bien que la fonction elle-même fonctionne, attribuer la sortie à des colonnes spécifiques pose un défi.

Solution utilisant Zip :

Une approche efficace consiste à utiliser la fonction zip pour attribuer le valeurs de sortie sur plusieurs colonnes :

<code class="python">def powers(x):
    return x, x**2, x**3, x**4, x**5, x**6

df = pd.DataFrame([[i] for i in range(10)], columns=['num'])
df['p1'], df['p2'], df['p3'], df['p4'], df['p5'], df['p6'] = zip(*df['num'].map(powers))</code>

Ici, la fonction map() applique des pouvoirs à chaque ligne de la colonne « num » et zip décompresse la sortie en colonnes individuelles.

Ceci La méthode génère efficacement plusieurs nouvelles colonnes en fonction des valeurs de sortie de la fonction. Il est également compatible avec les anciennes versions de Pandas, contrairement à certaines autres solutions qui s'appuient sur des fonctionnalités plus récentes comme df.assign().

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!

Déclaration:
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