Рассмотрим, как заполнить пропуски в колонке групповыми значениями по не пустым ячейкам. Для примера возьмем таблицу:
Пусть мы хотим заполнить столбец дохода (revenue) групповыми медианами (по столбцу gr_id). Для этого можно в fillna использовать метод transform (о нем подробнее писал здесь):
Групповые значения fillna заполняет только в пустые места.
Если transform кажется запутанным, то в качестве альтернативного способа можно получить групповые значения, затем присоединить их к таблице и заполнить пропуски из значений нового столбца. Первый шаг:
теперь присоединяем и заполняем пропуски:
Групповые значения можно получать и на основании нескольких столбцов. В этом случае вам пригодится метод apply. Для примера рассчитаем для df_cor групповое медианное значение отношения 'revenue' к 'gr_id':
Теперь можно аналогично примеру выше приджойнить колонку к основной таблице и получить искомый столбец.
Операции заполнения групповыми статистиками достаточно распространены. Одним из типичных примеров является нахождение неизвестной жилой площади квартиры при имеющейся общей. Для этого сначала получаем среднее отношение жилой площади к общей по заполненным данным, а затем умножаем на него общую площадь.