Maison >développement back-end >Tutoriel Python >Comment ajouter simultanément plusieurs colonnes à un DataFrame Pandas ?

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

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 08:29:02787parcourir

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>

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>

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>

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>

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>

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>

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>

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>

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>

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