Comment ajouter simultanément plusieurs colonnes à un DataFrame Pandas ?

Susan Sarandon
Libérer: 2024-10-25 08:29:02
original
707 Les gens l'ont consulté

How to Add Multiple Columns to a Pandas DataFrame Simultaneously?

Ajout simultané de plusieurs colonnes aux dataframes Pandas : un guide étape par étape

Dans le cadre de l'analyse des données, il est souvent nécessaire pour augmenter les dataframes Pandas existantes avec des colonnes supplémentaires. Pour simplifier ce processus, nous recherchons une approche rationalisée pour ajouter plusieurs colonnes à la fois.

Idée fausse initiale : attribution de valeurs à plusieurs colonnes

Intuitivement, on pourrait s'attendre à ce qui suit syntaxe pour accomplir la tâche :

<code class="python">df[['column_new_1', 'column_new_2', 'column_new_3']] = [np.nan, 'dogs', 3]</code>
Copier après la connexion

Cependant, cette approche se heurte à un obstacle en raison de l'exigence de Pandas pour le côté droit des affectations de liste de colonnes (df[[new1, new2]] = .. .) pour être un DataFrame.

Solutions de travail : attribution de plusieurs colonnes

Sans nous laisser décourager, nous utilisons diverses techniques pour atteindre notre objectif :

1. Déballage de l'itérateur pour les affectations simultanées

<code class="python">df['column_new_1'], df['column_new_2'], df['column_new_3'] = np.nan, 'dogs', 3</code>
Copier après la connexion

2. Extension d'une seule ligne avec DataFrame()

<code class="python">df[['column_new_1', 'column_new_2', 'column_new_3']] = pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index)</code>
Copier après la connexion

3. Concaténation avec des DataFrames temporaires

<code class="python">df = pd.concat([ df, pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index, columns=['column_new_1', 'column_new_2', 'column_new_3']) ], axis=1)</code>
Copier après la connexion

4. Rejoindre des DataFrames temporaires

<code class="python">df = df.join(pd.DataFrame([[np.nan, 'dogs', 3]], index=df.index, columns=['column_new_1', 'column_new_2', 'column_new_3']))</code>
Copier après la connexion

5. DataFrames temporaires basés sur un dictionnaire

<code class="python">df = df.join(pd.DataFrame({'column_new_1': np.nan, 'column_new_2': 'dogs', 'column_new_3': 3}, index=df.index))</code>
Copier après la connexion

6. .assign() pour les arguments à plusieurs colonnes (Python 3.6)

<code class="python">df = df.assign(column_new_1=np.nan, column_new_2='dogs', column_new_3=3)</code>
Copier après la connexion

7. Créez des colonnes, attribuez des valeurs séparément

<code class="python">df['column_new_1'] = np.nan
df['column_new_2'] = 'dogs'
df['column_new_3'] = 3</code>
Copier après la connexion
Copier après la connexion

8. Affectations séparées

Bien qu'elle manque de l'élégance des autres solutions, cette approche reste simple :

<code class="python">df['column_new_1'] = np.nan
df['column_new_2'] = 'dogs'
df['column_new_3'] = 3</code>
Copier après la connexion
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!