【发布时间】:2020-05-13 08:50:44
【问题描述】:
我们可以简单地按轴计算平均值:
import pandas as pd
df=pd.DataFrame({'A':[1,1,0,1,0,1,1,0,1,1,1],
'b':[1,1,0,1,0,1,1,0,1,1,1],
'c':[1,1,0,1,0,1,1,0,1,1,1]})
# max_of_three columns
mean= np.max(df.mean(axis=1))
如何用滚动平均值做同样的事情?
我试过1:
# max_of_three columns
mean=df.rolling(2).mean(axis=1)
收到此错误:
UnsupportedFunctionCall:numpy 操作对窗口对象无效。改用 .rolling(...).mean()
我试过2:
def tt(x):
x=pd.DataFrame(x)
b1=np.max(x.mean(axis=1))
return b1
# max_of_three columns
mean=df.rolling(2).apply(tt,raw=True)
但是从这里我得到三列结果,实际上每个移动窗口应该是 1 个值。
我在哪里做错了?或任何其他有效的方法。
【问题讨论】:
标签: python-3.x pandas numpy pandas-groupby