У меня есть pandas фрейм данных, для которого я хочу вычислить абсолютное отклонение MEDIAN по кластерам. Я предположил, что pandas метод mad
был Медианным Абсолютным Отклонением, но, похоже, это СРЕДНЕЕ Абсолютное Отклонение. Написанная мною строка кода
df['MAD PPGamp'] = df.groupby('Cluster')['PPGamp'].transform('mad')
Я попытался написать небольшую собственную функцию для вычисления Медианного абсолютного отклонения
def myMAD(x):
med = np.median(x)
x = abs(x-med)
MAD = np.median(x)
return MAD
и изменить свой код на чтение
df['MAD PPGamp'] = df.groupby('Cluster')['PPGamp'].transform('myMAD')
К сожалению, это не работает. Я получаю объект 'SeriesGroupBy' AttributeError, не имеющий атрибута 'myMAD'.
Как вычислить средние абсолютные отклонения по кластеру для столбца в моем фрейме данных и правильно создать новый столбец с MAD-трансляцией по строкам, используя преобразовать?
Заранее спасибо
Томас Филипс