我正在拼命寻找解决熊猫问题的办法。也许你能帮我。
我正在寻找一个滚动平均值,考虑到之前的平均值。
df看起来像这样:
现在,使用滚动(window=2)。mean()
函数我会得到如下结果:
我想从第一个计算中考虑平均值,如下所示:
哪里
row1: (4+6)/2=5
row2: (5+10)/2=7.5
row3: (7.5+12)/2=9.75
提前谢谢你!
这里有一个方法。因为系数为2的幂,一切都可以发展。
df['res'] = (
(2**pd.Series(np.arange(len(df)), df.index).sub(1).clip(lower=0)
*df['count']
).cumsum()
/pd.Series(2**np.arange(len(df)), df.index).clip(lower=2)
)
print(df)
index count res
0 0 4 2.00
1 1 6 5.00
2 2 10 7.50
3 3 12 9.75
如果需要,您可以使用df.loc[0,'res']=np.nan
来屏蔽第一个值
我们可以使用简单的python
循环,如果您想加快速度,可以尝试numba
l= []
n = 2
for x,y in zip(df['count'],df.index):
try :
l.append(np.nansum(x+l[y-n+1])/n)
except:
l.append(x)
df.loc[n-1:, 'new']=l[n-1:]
df
Out[332]:
index count new
0 0 4 NaN
1 1 6 5.00
2 2 10 7.50
3 3 12 9.75
问题内容: 我无法获得熊猫列的平均值或均值。有一个数据框。我在下面尝试的任何事情都没有给我该列的平均值 以下返回几个值,而不是一个: 这样: 问题答案: 如果您只想要列的均值,请选择列(这是一个系列),然后调用:
我不能得到熊猫的平均值或平均值。有一个数据框。下面我尝试的东西都没有给我列的平均值 以下内容返回多个值,而不是一个值: 这也是:
问题内容: 我如何平均?我想找到的平均值,学生总数和的总数。例: 输入 :4 4 4 4 产出: 学生总数 :4 总GPA :16 平均GPA: 4 问题答案: 如果问题是您得到错误的答案,则原因是此循环: 大概您打算在用户输入负数时退出循环。这样做有问题,它将在总数和计数中包含负数。您可以这样重写循环: (其他解决方案也是可能的)。在代码的后面,您将需要防止第一个数字为负。如果发生这种情况,将为
问题内容: 似乎没有函数可以简单地计算numpy / scipy的移动平均值,从而导致解决方案复杂。 我的问题有两个: (正确)用numpy实现移动平均的最简单方法是什么? 由于这似乎很简单且容易出错,是否有充分的理由不将电池包括在这种情况下? 问题答案: 一种简单的方法是使用。其背后的想法是利用离散卷积的计算方式,并使用它来返回 滚动平均值 。这可以通过对长度等于我们想要的滑动窗口长度的序列进行
问题内容: 我的表中有一列具有FLOAT类型的值。如何获得此列中所有元素的平均值? 问题答案: 这将平均所有行。要平均子集,请使用子句。要平均每个组(某物),请使用by子句。
问题内容: 我有一个从CSV导入的像这样的数据框。 我想添加一个新的MA列,该列计算该列pop的滚动平均值。我尝试了以下 我得到一个错误 所以我想让我尝试一下,如果它不添加任何列就可以工作。我用了 我得到了输出 我似乎无法对栏弹出应用滚动平均。我究竟做错了什么? 问题答案: 要分配列,您可以根据以下内容创建滚动对象: ac2001发布的答案并不是执行此操作最有效的方法。他正在计算数据帧中每一列的滚