"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso adicionar com eficiência uma nova coluna a um quadro de dados de pandas?

Como posso adicionar com eficiência uma nova coluna a um quadro de dados de pandas?

Postado em 2025-03-04
Navegar:357

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

Adicionando uma nova coluna a um dataframe existente

ao trabalhar com os pandas de dados de dados, geralmente se torna necessário adicionar novas colunas aos dados de dados existentes. Existem várias abordagens para conseguir isso, cada uma com suas próprias vantagens e desvantagens. Usando atribuir (recomendado para pandas 0.17 e acima):

importar pandas como pd importar numpy como np # Gere uma amostra de dados de dados 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] }) # Adicione uma nova coluna 'e' com valores aleatórios Slength = Len (Df1 ['A']) df1 = df1.assign (e = pd.series (np.random.randn (slength)). Usando loc [row_index, col_indexer] = value:

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)

3. Usando df [new_column_name] = pd.series (valores, index = df.index):

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

Lembre -se de que o último método pode acionar o cenário que pode ser atendido em versões mais recentes dos pandas. Usando atribuir ou loc geralmente é recomendado para eficiência e clareza.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3