Como definir o valor de uma célula específica no pandas dataframe


Você pode usar a seguinte sintaxe básica para definir o valor de uma célula específica em um DataFrame do pandas:

 #set value at row index 0 and column 'col_name' to be 99
df. at [0, ' col_name '] = 99

Os exemplos a seguir mostram como usar essa sintaxe na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Exemplo 1: Defina o valor de uma célula no Pandas

O código a seguir mostra como definir o valor da terceira posição do índice da coluna “pontos” como 99:

 #set value in 3rd index position and 'points' column to be 99
df. at [3, ' points '] = 99

#view updated DataFrame
df

        points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 99 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Observe que o valor na 3ª posição do índice da coluna “pontos” foi alterado e todos os outros valores no DataFrame permaneceram os mesmos.

Exemplo 2: Defina o valor de várias células no Pandas

O código a seguir mostra como definir o valor de várias células em um intervalo simultaneamente:

 #set values in index positions 0 to 3 in 'points' column to be 99 
df. at [0:3, ' points '] = 99

#view updated DataFrame
df

points assists rebounds
0 99 5 11
1 99 7 8
2 99 7 10
3 99 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Exemplo 3: Definir valores condicionalmente em Pandas

O código a seguir mostra como definir os valores na coluna “rebotes” para 99 somente se o valor na coluna de pontos for maior que 20:

 #set values in 'rebounds' column to be 99 if value in points column is greater than 20
df. loc [df[' points ']>20, [' rebounds ']] = 99

#view updated DataFrame
df

points assists rebounds
0 25 5 99
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 99
6 25 9 99
7 29 4 99

Observe que cada valor na coluna de rebotes foi alterado para 99 se o valor na coluna de pontos fosse maior que 20.

Todos os outros valores permaneceram os mesmos.

Recursos adicionais

Os tutoriais a seguir explicam como executar outras funções comuns em pandas:

Como obter o valor da célula do Pandas DataFrame
Como obter a primeira linha do Pandas DataFrame
Como obter a primeira coluna do Pandas DataFrame
Como obter o índice de linhas cuja coluna corresponde ao valor no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *