Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
2686

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

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

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

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

Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.

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