我有一个包含以下记录的数据框,需要找到3和5的平均值,且没有滚动。 我得到的结果是为特定名称的所有记录(无滚动)计算均值。 我只能通过ROLLING实现5的MEAN,但不需要滚动。
如何在不滚动的情况下获得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)
我通过ROLLING获得了MEAN的结果。但是,我需要MEAN 0f 3,5或5而不能滚动
Output:
Name
X 253.xx
A 108.xx
Name: Price, dtype: float64