【发布时间】:2020-09-30 22:05:02
【问题描述】:
我有一个数据框,我需要对特定列的元素进行六乘六的平均,然后将获得的列添加到数据框。
here's an example of the desired output
我正在使用 while 循环:它可以工作,但需要很长时间(列表大约有 44k 行)。
while k<df0.shape[0]:
tradRRP[k]=np.mean(df0[['RRP']][k:k+6])
tradRRP[k+1]=np.mean(df0[['RRP']][k:k+6])
tradRRP[k+2]=np.mean(df0[['RRP']][k:k+6])
tradRRP[k+3]=np.mean(df0[['RRP']][k:k+6])
tradRRP[k+4]=np.mean(df0[['RRP']][k:k+6])
tradRRP[k+5]=np.mean(df0[['RRP']][k:k+6])
k=k+6
print(np.format_float_positional(k/df0.shape[0]*100, precision=2), end =" ")
print(' % completed')
有没有更快的方法?
谢谢!
【问题讨论】:
-
df0[['RRP']][k:k+6]是 1x6 而不是 6x6 对吧? -
是的,是一个单一的值:实际上是重复了六次,因为我希望每六个间隔获得相同的平均值