07 Июл 2023
2 мин
744

Изменение значений в определенной ячейке DataFrame в Pandas

Одной из распространенных задач при работе с DataFrame в библиотеке Pandas является изменение значения в определенной ячейке. Возможно, вам понадобилось

Содержание

Одной из распространенных задач при работе с 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, так как он возвращает копию данных, а не ссылку на них.

Добавить комментарий