Я начинаю с простого
df = pd.DataFrame({'units':[30,20]})
И я получаю
units
0 30
1 20
Затем я добавляю строку к итоговому столбцу:
my_sum = df.sum()
df = df.append(my_sum, ignore_index=True)
Наконец, я добавляю столбец для вычисления процентов от столбца 'единиц':
df['pct'] = df.units / df.units[:-1].sum()
заканчивается этим:
units pct
0 30 0.6
1 20 0.4
2 50 1.0
Пока все хорошо - но теперь вопрос: я хочу изменить среднее число единиц с 20 на, например, 30. Я могу использовать это:
df3.iloc[1, 0] = 40
или
df3.iat[1, 0] = 40
, которые изменяют ячейку, но вычисленные значения как в последней строке, так и во втором столбце не изменяются, чтобы отразить ее:
units pct
0 30 0.6
1 40 0.4
2 50 1.0
Как заставить эти вычисленные значения корректироваться после изменения в этой конкретной ячейке?