Maison > développement back-end > Tutoriel Python > Comment ajouter efficacement une nouvelle colonne à un DataFrame Pandas ?

Comment ajouter efficacement une nouvelle colonne à un DataFrame Pandas ?

Mary-Kate Olsen
Libérer: 2024-12-14 03:23:10
original
530 Les gens l'ont consulté

How to Efficiently Add a New Column to a Pandas DataFrame?

Comment ajouter une nouvelle colonne à un DataFrame existant

Énoncé du problème

Étant donné un DataFrame avec des lignes indexées, vous souhaitez incorporer une colonne supplémentaire sans modifier les données existantes. Par exemple, étant donné le DataFrame :

</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">      a         b         c         d
Copier après la connexion

2 0,671399 0,101208 -0,181532 0,241273
3 0,446172 -0,243316 0,051767 1.577318
5 0.614758 0.075793 -0.451460 -0.012493

Ajoutez une colonne nommée 'e' avec les valeurs suivantes :

<br> 0 -0.335485<br>1 -1.166658<br>2 -0.385571<br>dtype: float64<br>

Solution

Modifier 2017

La méthode la plus efficace, comme suggérée par @Alexander et indiquée dans les commentaires, est d'utiliser la méthode assign :

df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)
Copier après la connexion

Edit 2015

Certains utilisateurs ont signalé avoir rencontré le SettingWithCopyWarning avec le code d'origine. Cependant, le code reste fonctionnel dans la version actuelle de pandas, 0.16.1.

sLength = len(df1['a'])

df1['e'] = pd.Series(np.random.randn(sLength), index=df1.index)
Copier après la connexion

Réponse originale

Créez une série en utilisant les index d'origine de df1 et attribuez dans la nouvelle colonne :

df1['e'] = pd.Series(np.random.randn(sLength), index=df1.index)
Copier après la connexion

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
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal