Como atualizar linhas e colunas usando Python Pandas

Como atualizar linhas e colunas usando Python Pandas

O Pandas é uma biblioteca essencial para manipulação e análise de dados em Python. Uma das funcionalidades fundamentais do Pandas é a capacidade de atualizar linhas e colunas em um DataFrame. Este artigo abrangente fornecerá um guia passo a passo sobre como atualizar linhas e colunas usando Python Pandas.

Introdução

Um DataFrame é uma estrutura de dados tabular que consiste em linhas e colunas. As linhas representam registros ou observações individuais, enquanto as colunas representam diferentes variáveis ou atributos associados a esses registros. A biblioteca Pandas oferece vários métodos para manipular e atualizar linhas e colunas em um DataFrame. Compreender esses métodos é crucial para realizar operações eficientes de limpeza, transformação e análise de dados.

Atualizando linhas

2.1 Usando o método loc

O método loc permite atualizar linhas específicas em um DataFrame usando índices de linha. Ele aceita um rótulo de linha ou uma lista de rótulos como o primeiro argumento e uma atribuição como o segundo.

python
import pandas as pd

df = pd.DataFrame({'Nome': ['João', 'Maria', 'Pedro'],
'Idade': [25, 30, 35]})

Atualiza a idade de João

df.loc['João', 'Idade'] = 26

Atualiza as idades de Maria e Pedro

df.loc[['Maria', 'Pedro'], 'Idade'] = [28, 36]

2.2 Usando o método iloc

O método iloc atualiza linhas específicas em um DataFrame usando índices inteiros. Ele aceita uma posição de linha ou uma lista de posições como o primeiro argumento e uma atribuição como o segundo.

python

Atualiza a idade do segundo registro

df.iloc[1, 1] = 27

Atualiza as idades do primeiro e terceiro registros

df.iloc[[0, 2], 1] = [24, 37]

2.3 Usando o método at

O método at é usado para atualizar um único elemento em um DataFrame usando seus rótulos de índice. Ele aceita um rótulo de linha e um rótulo de coluna como primeiro e segundo argumentos.

python

Atualiza a idade de Maria

df.at['Maria', 'Idade'] = 29

Atualizando colunas

3.1 Usando o método loc

O método loc também pode ser usado para atualizar colunas específicas em um DataFrame usando rótulos de coluna. Ele aceita um rótulo de coluna ou uma lista de rótulos como o primeiro argumento e uma atribuição como o segundo.

python

Atualiza o nome do primeiro registro

df.loc[0, 'Nome'] = 'João Silva'

Atualiza os nomes de todos os registros

df.loc[:, 'Nome'] = df['Nome'].str.upper()

3.2 Usando o método iloc

O método iloc também pode atualizar colunas específicas usando índices inteiros. Ele aceita uma posição de coluna ou uma lista de posições como o primeiro argumento e uma atribuição como o segundo.

python

Atualiza o nome da primeira coluna

df.iloc[:, 0] = df['Nome'].str.title()

Atualiza as duas primeiras colunas

df.iloc[:, :2] = df[['Nome', 'Idade']]

3.3 Usando o método assign

O método assign é usado para adicionar novas colunas ou atualizar as existentes em um DataFrame. Ele aceita um dicionário como seu primeiro argumento, onde as chaves são nomes de coluna e os valores são valores ou expressões da coluna.

python

Adiciona uma nova coluna 'Sobrenome'

df = df.assign(Sobrenome='Silva')

Atualiza a coluna 'Nome'

df = df.assign(Nome=df['Nome'].str.lower())

Conclusão

Atualizar linhas e colunas em um DataFrame é uma operação fundamental ao manipular e analisar dados usando Python Pandas. Este artigo forneceu um guia detalhado sobre os vários métodos disponíveis para realizar essas operações, incluindo loc, iloc e assign. O entendimento desses métodos permite que os usuários modifiquem e atualizem os dados em um DataFrame de forma eficiente e precisa, facilitando a preparação de dados, a limpeza e as análises estatísticas.

FAQs

1. Qual método é mais eficiente para atualizar uma única linha ou coluna?
O método at é o mais eficiente para atualizar um único elemento em um DataFrame.

2. Qual método é recomendado para atualizar várias linhas ou colunas?
O método loc ou iloc são recomendados para atualizar várias linhas ou colunas com base em rótulos de índice ou posições inteiras.

3. Como posso atualizar várias linhas ou colunas simultaneamente?
Você pode usar o método loc ou iloc para passar uma lista de rótulos de índice ou posições como o primeiro argumento para atualizar várias linhas ou colunas de uma só vez.

4. Como posso adicionar uma nova coluna a um DataFrame?
Você pode usar o método assign para adicionar uma nova coluna a um DataFrame, passando um dicionário onde as chaves são nomes de coluna e os valores são valores ou expressões de coluna.

5. Como posso atualizar várias colunas usando expressões?
Você pode usar o método assign para atualizar várias colunas usando expressões. Forneça um dicionário onde as chaves são nomes de coluna e os valores são expressões que retornam valores para as colunas atualizadas.

6. Qual método é melhor para atualizar valores ausentes?
Use o método fillna para preencher valores ausentes em um DataFrame com um valor especificado ou uma expressão.

7. Como posso atualizar linhas com base em uma condição?
Use o método query para selecionar linhas com base em uma condição e atualize essas linhas usando o método assign.

8. Como posso atualizar colunas com base em uma condição?
Use o método mask para criar uma máscara booliana e atualize as colunas correspondentes às linhas verdadeiras usando o operador de atribuição condicional.

  7 calculadoras de sub-rede úteis para marcar