Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-10-28 15:09:02
original
401 Les gens l'ont consulté

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>
Copier après la connexion

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!

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