Как установить значение определенной ячейки в pandas dataframe
Вы можете использовать следующий базовый синтаксис, чтобы установить значение определенной ячейки в DataFrame pandas:
#set value at row index 0 and column 'col_name' to be 99 df. at [0, ' col_name '] = 99
В следующих примерах показано, как использовать этот синтаксис на практике со следующим DataFrame 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
Пример 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