Я новичок в pandas и знаю, как форматировать значения столбцов в строки, чтобы округлять их и конвертировать в проценты.Но у меня возникают проблемы с этим в столбце, который я создал в результате использования метода agg()
:
debtors_by_purpose = data.groupby('purpose_id').agg({'debt': ['sum', 'count', 'mean']})
debtors_by_purpose['debt']['mean'] = debtors_by_purpose['debt']['mean'].apply('{:.2%}'.format)
debtors_by_purpose
Я подозреваю, что причина, по которой он не меняется, - это цепная индексация,но я не знаю другого способа доступа к элементам в столбце, созданном методом agg()
.Я не могу использовать loc[]
здесь.А может быть, есть способ поместить метод format()
в вызов agg()
?Или, может быть, какой-то альтернативный метод округления значений был бы лучше здесь?
РЕДАКТИРОВАТЬ: просто чтобы быть ясно, проблема не в том, что выражение справа не работает.Это работает, и я полагаю, что я виноват в том, что не сделал более абстрактный пример.Проблема в том, что результат этого выражения не сохраняется в таблице через оператор присваивания , потому что я не знаю, как избежать цепной индексации в этом случае.Я мог бы также поставить ноль, чтобы проиллюстрировать, что этот ноль не сохраняется.