Como definir valor para uma célula específica em Pandas DataFrame usando índice

  1. Definir valor para uma célula específica em Pandas DataFrame utilizando pandas.dataframe.at Método
  2. Defina o valor para uma célula particular no Pandas DataFrame usando o método Dataframe.set_value()
  3. Defina o valor para uma célula particular no Pandas DataFrame usando o método Dataframe.loc
Como definir valor para uma célula específica em Pandas DataFrame usando índice

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.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se

Artigo relacionado - Pandas DataFrame