Освойте 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-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Добавить комментарий