有没有一种方法可以逐步计算df列的平均值。例如,我有一个名为data的df,有50行,我想创建一个图,在y轴上显示平均值,在x轴上显示样本数量。所以我需要知道我列中第一个值的平均值,然后知道我列中前两个值的平均值,依此类推。尝试使用lamda表达式执行此操作,但失败了。
有人知道吗?
答案 0 :(得分:1)
IIUC,您可以使用expanding
和mean
来累计计算平均值:
示例
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(name: "Test", pattern: "test/{action}").RequireAuthorization(new AuthorizeAttribute());
});
[出]
http://localhost:8866/test/test
http://localhost:8866/test/test2
要绘制,可以使用:
data = pd.DataFrame({'col1': np.arange(1, 50)})
data['cumulative_mean'] = data['col1'].expanding().mean()
答案 1 :(得分:0)
通过滚动窗口,您可以轻松完成此操作。下面是3个值的示例:
df = pd.DataFrame(columns=['a'], data=np.arange(1,100))
df['a'].rolling(3).mean()
您可以循环更改滚动窗口的大小。 您可以进一步了解docs。