Как установить значение для конкретной ячейки в Pandas DataFrame


Вы можете использовать следующий базовый синтаксис, чтобы установить значение для конкретной ячейки в кадре данных pandas:

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

В следующих примерах показано, как использовать этот синтаксис на практике со следующими пандами DataFrame:

import pandas as pd

#create DataFrame
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

Пример 1: установить значение одной ячейки в Pandas

Следующий код показывает, как установить значение в 3-й индексной позиции столбца «точки» равным 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

Обратите внимание, что значение в 3-й позиции индекса столбца «точки» было изменено, а все остальные значения в DataFrame остались прежними.

Пример 2: установить значение нескольких ячеек в Pandas

В следующем коде показано, как одновременно установить значение нескольких ячеек в диапазоне:

#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

Пример 3. Условное задание значений в Pandas

В следующем коде показано, как установить значения в столбце «Подборы» равными 99, только если значение в столбце очков больше 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

Обратите внимание, что каждое значение в столбце подборов было изменено на 99, если значение в столбце очков было больше 20.

Все остальные значения остались прежними.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные функции в pandas:

Как получить значение ячейки из Pandas DataFrame
Как получить первую строку Pandas DataFrame
Как получить первый столбец Pandas DataFrame
Как получить индекс строк, столбец которых соответствует значению в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.