У меня есть кадр данных pd, в котором столбец с именем «process_id» для нескольких временных шагов имеет различные параметры, связанные с ним.Я хочу извлечь из них несколько сведений и поместить их в новый фрейм данных (поэтому мне не нужно использовать все детали данных).Ниже приведен пример того, что я имею в виду, где я храню для каждого «process_id» минимальное, максимальное, среднее и стандартное значение каждого параметра, а также определяю лямбда-функцию для сохранения среднего значения параметров за последние 5 шагов:
features = df.groupby('process_id').agg(['min', 'max', 'mean', 'std', lambda x: x.tail(5).mean()])
Это работает нормально, и лямбда-функция меняет имя параметра в таблице на что-то вроде этого: "parameter_lambda" (не знаю как, но это работает).Теперь проблема в том, что если я хочу добавить другую лямбда-функцию, что-то вроде этого (или любое другое лямбда-определение):
features = df.groupby('process_id').agg(['min', 'max', 'mean', 'std', lambda x: x.tail(5).mean(),lambda x: x.iloc[0:int(len(df)/5)].mean()])
Я получаю эту ошибку:
Имена функцийдолжно быть уникальным, найдено несколько имен с именем
Это имеет смысл, поскольку обе лямбда-функции будут иметь одинаковое имя во фрейме данных.Но я не знаю, как обойти это.
Я пробовал что-то вроде этого:
df.groupby('dummy').agg({'returns':{'Mean': np.mean, 'Sum': np.sum}})
как описано здесь , но я получаю эту ошибку:
Ошибка спецификации: не могувыполнить переименование возвратов с помощью вложенного словаря
Может кто-нибудь мне помочь?Спасибо!