Как увеличить значение в строке по заданному индексу?

Переменная index содержит строку.
необходимо увеличить значение возраста в строке индексом равным index на 1. и вывести фрейм данных.

df = pd.DataFrame({'animal': ['cat', 'cat', 'snake', 'dog', 'dog', 'cat', 'snake', 'cat', 'dog', 'dog'],
                   'age': [2.5, 3, 0.5, np.nan, 5, 2, 4.5, np.nan, 7, 3],
                   'name': ['Murzik', 'Pushok', 'Kaa', 'Bobik', 'Strelka', 'Vaska', 'Kaa2', 'Murka', 'Graf', 'Muhtar'],
                   'visits': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
                   'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']},
                  index = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])

index = 'f'

Я пробую решить следующим образом:

print(df.loc[index].at['age'] + 1)

Но выводит измененное значение ячейки, а не измененный фрейм данных.


Ответы (1 шт):

Автор решения: MaxU

"Accessor" DataFrame.loc[index_labels, column_labels] принимает в качестве второго аргумента наименования столбцов:

df.loc[index, "age"] += 1

print(df)

вывод:

  animal  age     name  visits priority
a    cat  2.5   Murzik       1      yes
b    cat  3.0   Pushok       3      yes
c  snake  0.5      Kaa       2       no
d    dog  NaN    Bobik       3      yes
e    dog  5.0  Strelka       2       no
f    cat  3.0    Vaska       3       no
g  snake  4.5     Kaa2       1       no
h    cat  NaN    Murka       1      yes
i    dog  7.0     Graf       2       no
j    dog  3.0   Muhtar       1       no
→ Ссылка