"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je ajouter efficacement une nouvelle colonne à un Pandas DataFrame?

Comment puis-je ajouter efficacement une nouvelle colonne à un Pandas DataFrame?

Publié le 2025-03-04
Parcourir:677

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

ajoutant une nouvelle colonne à un dataframe existant

Lorsque vous travaillez avec Pandas DataFrames, il devient souvent nécessaire d'ajouter de nouvelles colonnes aux dataframes existants. Il existe plusieurs approches pour y parvenir, chacune avec ses propres avantages et inconvénients.

1. Utilisation de Assign (recommandé pour Pandas 0.17 et supérieur):

import pandas as pd
import numpy as np

# Generate a sample DataFrame
df1 = pd.DataFrame({
    'a': [0.671399, 0.446172, 0.614758],
    'b': [0.101208, -0.243316, 0.075793],
    'c': [-0.181532, 0.051767, -0.451460],
    'd': [0.241273, 1.577318, -0.012493]
})

# Add a new column 'e' with random values
sLength = len(df1['a'])
df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)

2. Utilisation de loc [row_index, col_indexer] = valeur:

# Add a new column 'f' using loc
df1.loc[:, 'f'] = pd.Series(np.random.randn(sLength), index=df1.index)

3. Utilisation de df [new_column_name] = pd.series (valeurs, index = df.index):

# Add a new column 'g' using the old method
df1['g'] = pd.Series(np.random.randn(sLength), index=df1.index)

N'oubliez pas que cette dernière méthode peut déclencher le paramètre avecwarning dans les versions plus récentes de pandas. L'utilisation de l'Assign ou LOC est généralement recommandée pour l'efficacité et la clarté.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3