Как увеличить значение в строке по заданному индексу?
Переменная 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