我有一个pandas数据帧df如下:
Time Type Value
1/15/2019 A 109.99
1/16/2019 A 108.47
1/17/2019 A 107.71
1/18/2019 A 109.23
1/21/2019 A 109.23
1/22/2019 A 108.47
1/23/2019 A 110.75
1/24/2019 A 112.27
2/4/2019 B 172.1
2/5/2019 B 170.55
2/6/2019 B 170.55
2/7/2019 B 171.79
2/8/2019 B 172.41
2/11/2019 B 174.89
2/12/2019 B 176.15
2/13/2019 B 174.09
2/14/2019 B 171.05
我想从上面得到每种类型的最后3个值的平均值,如下所示:
Type Last3Avg
A 110.50
B 173.56
即average(108.47, 110.75, 112.27) = 110.50等
我正在尝试各种语法,但没有成功:
df.groupby('Type').ix[-3:].mean()
解决办法:使用方式 nth
df.groupby('Type').nth([-1,-2,-3]).Value.mean(axis=0,level=0)
Out[250]:
Type
A 110.496667
B 173.763333
Name: Value, dtype: float64








暂无数据