У меня есть фрейм данных со следующими записями, и мне нужно найти СРЕДНЕЕ из 3 и 5 БЕЗ ПРОКАТКИ. Я получаю результат, в котором СРЕДНЕЕ значение вычисляется для всех записей с указанным c именем БЕЗ ПРОКРУТКИ. Я могу реализовать СРЕДНЕЕ 5 только с помощью ПРОКАТКИ, но прокатка не требуется.
Как получить Среднее значение 3,5 или 5 БЕЗ ПРОКАТКИ?
Name Price Date
X 239.20 2020-07-10
X 244.80 2019-04-21
X 248.00 2018-05-09
X 254.80 2020-06-30
X 263.65 2019-11-04
X 234.50 2018-07-22
X 234.95 2019-07-04
A 131.30 2020-06-11
A 126.85 2019-05-25
A 134.25 2020-04-07
A 137.70 2019-07-09
A 136.40 2020-07-18
A 134.50 2018-07-22
A 134.95 2019-07-04
findMean = (df[(df.Name.isin(['X', 'A'])) & (df.Date <= df.Date.max())]
.groupby('Name')
.apply(lambda x: x.sort_values(['Name', 'Date'], ascending=False)).reset_index(drop=True)
.groupby('Name')
#.head(5)
.Price.mean()
#.rolling(window=5).Price.mean()
)
print(findMean)
Я получаю результат СРЕДНЕГО значения все с РОЛИКОМ. Но мне нужно СРЕДНЕЕ 0f 3,5 или 5 без РОЛИКА
Output:
Name
X 253.xx
A 108.xx
Name: Price, dtype: float64