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]})
últimas postagens
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.