Como definir valor para uma célula específica em Pandas DataFrame usando índice
-
Definir valor para uma célula específica em Pandas DataFrame utilizando
pandas.dataframe.at
Método -
Defina o valor para uma célula particular no Pandas DataFrame usando o método
Dataframe.set_value()
-
Defina o valor para uma célula particular no Pandas DataFrame usando o método
Dataframe.loc
Pandas é um pacote python centrado em dados que torna a análise de dados em python fácil e coerente. Neste artigo, vamos analisar diferentes métodos de acesso e definição de valores para uma célula específica em pandas DataFrame
estrutura de dados utilizando um índice.
Definir valor para uma célula específica em Pandas DataFrame utilizando pandas.dataframe.at
Método
O método pandas.dataframe.at
é utilizado principalmente quando precisamos definir um único valor em um DataFrame
.
import pandas as pd
sample_df = pd.DataFrame(
[[10, 20, 30], [11, 21, 31], [15, 25, 35]],
index=[0, 1, 2],
columns=["Col1", "Col2", "Col3"],
)
print "\nOriginal DataFrame"
print (pd.DataFrame(sample_df))
sample_df.at[0, "Col1"] = 99
sample_df.at[1, "Col2"] = 99
sample_df.at[2, "Col3"] = 99
print "\nModified DataFrame"
print (pd.DataFrame(sample_df))
Resultado:
Original DataFrame
Col1 Col2 Col3
0 10 20 30
1 11 21 31
2 15 25 35
Modified DataFrame
Col1 Col2 Col3
0 99 20 30
1 11 99 31
2 15 25 99
Como você pode notar, ao acessar a célula, especificamos índice e coluna como .at[0, 'Col1']
entre os quais o primeiro parâmetro é o índice, e o segundo é a coluna.
Se você deixar a coluna e apenas especificar o índice, todos os valores para esse índice serão modificados.
Defina o valor para uma célula particular no Pandas DataFrame usando o método Dataframe.set_value()
Outra alternativa é o método Dataframe.set_value()
. Este é muito semelhante ao método anterior e acessa um valor de cada vez, mas com uma leve diferença de sintaxe.
import pandas as pd
sample_df = pd.DataFrame(
[[10, 20, 30], [11, 21, 31], [15, 25, 35]],
index=[0, 1, 2],
columns=["Col1", "Col2", "Col3"],
)
print "\nOriginal DataFrame"
print (pd.DataFrame(sample_df))
sample_df.set_value(0, "Col1", 99)
sample_df.set_value(1, "Col2", 99)
sample_df.set_value(2, "Col3", 99)
print "\nModified DataFrame"
print (pd.DataFrame(sample_df))
Resultado:
Original DataFrame
Col1 Col2 Col3
0 10 20 30
1 11 21 31
2 15 25 35
Modified DataFrame
Col1 Col2 Col3
0 99 20 30
1 11 99 31
2 15 25 99
Defina o valor para uma célula particular no Pandas DataFrame usando o método Dataframe.loc
Outro método viável para definir uma determinada célula com uma leve diferença de sintaxe é o método dataframe.loc
.
import pandas as pd
sample_df = pd.DataFrame(
[[10, 20, 30], [11, 21, 31], [15, 25, 35]],
index=[0, 1, 2],
columns=["Col1", "Col2", "Col3"],
)
print "\nOriginal DataFrame"
print (pd.DataFrame(sample_df))
sample_df.loc[0, "Col3"] = 99
sample_df.loc[1, "Col2"] = 99
sample_df.loc[2, "Col1"] = 99
print "\nModified DataFrame"
print (pd.DataFrame(sample_df))
Resultado:
Original DataFrame
Col1 Col2 Col3
0 10 20 30
1 11 21 31
2 15 25 35
Modified DataFrame
Col1 Col2 Col3
0 10 20 99
1 11 99 31
2 99 25 35
Todos os métodos mencionados acima no artigo são formas convenientes de modificar ou definir uma célula em particular em pandas DataFrame
, com pequenas diferenças de sintaxe e especificação.
Artigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum