有没有一种方法可以逐步计算列的数据帧的平均值?

时间:2020-03-13 11:11:44

标签: python arrays pandas lambda statistics

有没有一种方法可以逐步计算df列的平均值。例如,我有一个名为data的df,有50行,我想创建一个图,在y轴上显示平均值,在x轴上显示样本数量。所以我需要知道我列中第一个值的平均值,然后知道我列中前两个值的平均值,依此类推。尝试使用lamda表达式执行此操作,但失败了。

有人知道吗?

2 个答案:

答案 0 :(得分:1)

IIUC,您可以使用expandingmean来累计计算平均值:

示例

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()

enter image description here

答案 1 :(得分:0)

通过滚动窗口,您可以轻松完成此操作。下面是3个值的示例:

df = pd.DataFrame(columns=['a'], data=np.arange(1,100))
df['a'].rolling(3).mean()

您可以循环更改滚动窗口的大小。 您可以进一步了解docs