Maison >développement back-end >Tutoriel Python >Comment créer efficacement plusieurs nouvelles colonnes à partir d'une seule colonne de texte dans Pandas ?

Comment créer efficacement plusieurs nouvelles colonnes à partir d'une seule colonne de texte dans Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-29 08:27:03645parcourir

How to Efficiently Create Multiple New Columns from a Single Text Column in Pandas?

Utiliser Pandas pour créer plusieurs nouvelles colonnes basées sur une seule colonne de texte

Problème :

Extraire plusieurs valeurs d'un colonne de texte dans Pandas et les attribuer correctement à de nouvelles colonnes s'avère un défi.

Solution :

Pour appliquer efficacement une fonction qui renvoie plusieurs valeurs à une colonne Pandas, utilisez la fonction zip(). Cette solution améliore considérablement les performances par rapport à l'itération avec df.iterrows().

Mise en œuvre :

<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>

Exemple de sortie :

num p1 p2 p3 p4 p5 p6
0 0 0 0 0 0 0
1 1 1 1 1 1 1
2 2 4 8 16 32 64
3 3 9 27 81 243 729
4 4 16 64 256 1024 4096
5 5 25 125 625 3125 15625
6 6 36 216 1296 7776 46656
7 7 49 343 2401 16807 117649
8 8 64 512 4096 32768 262144
9 9 81 729 6561 59049 531441

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