Одной из распространенных задач при работе с DataFrame в библиотеке Pandas является изменение значения в определенной ячейке. Возможно, вам понадобилось обновить какие-то данные или просто исправить ошибку.
Рассмотрим типичную ситуацию. Пусть у нас есть DataFrame, созданный следующим образом:
import pandas as pd df = pd.DataFrame(index=['A','B','C'], columns=['x','y'])
Получаем следующий DataFrame:
x y
A NaN NaN
B NaN NaN
C NaN NaN
Теперь предположим, что мы хотим изменить значение в ячейке, которая находится в строке C
и столбце x
, и присвоить ей значение 10
.
Существует несколько способов сделать это, но самым простым и эффективным является использование метода .at[]
или .iat[]
. Метод .at[]
используется для доступа к данным в DataFrame по метке, а метод .iat[]
— по целочисленному индексу.
В нашем случае, чтобы изменить значение в ячейке, находящейся в строке C
и столбце x
, можно использовать следующий код:
df.at['C', 'x'] = 10
или
df.iat[2, 0] = 10
В обоих случаях получаем желаемый результат:
x y
A NaN NaN
B NaN NaN
C 10 NaN
Таким образом, для изменения значения в определенной ячейке DataFrame в Pandas можно использовать методы .at[]
или .iat[]
.
Важно заметить, что использование метода .xs()
не изменит исходный DataFrame, так как он возвращает копию данных, а не ссылку на них.
Добавить комментарий