Python-计算N的平均值而不滚动

时间:2020-07-11 20:16:46

标签: python mean calculation rolling-computation median-of-medians

我有一个包含以下记录的数据框,需要找到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

0 个答案:

没有答案