【发布时间】:2018-01-29 22:49:55
【问题描述】:
我正在尝试使用 pandas 计算数据框中行的扩展平均值。 如果计算列,一切似乎都工作正常:
>>> t = pd.DataFrame([1,2,3,4,5,np.nan])
>>> t
0
0 1.0
1 2.0
2 3.0
3 4.0
4 5.0
5 NaN
>>> t.expanding(min_periods=2, axis=0).mean()
0
0 NaN
1 1.5
2 2.0
3 2.5
4 3.0
5 3.0
但是,如果我尝试相同的行,我会得到错误的结果(似乎一直应用大小为 2 的窗口):
>>> t.T
0 1 2 3 4 5
0 1.0 2.0 3.0 4.0 5.0 NaN
>>> t.T.expanding(min_periods=2, axis=1).mean()
0 1 2 3 4 5
0 NaN 1.5 2.5 3.5 4.5 NaN
对我来说似乎是个错误,但也许我遗漏了一些东西……请问有什么线索吗?
【问题讨论】:
-
是的,它似乎是在计算滚动平均值。 GitHub 中有几个关于
axis=1的issues,据我所知,它还没有修复。 -
对我来说这也是一个错误,但是如果您想通过解决方法获得“所需的输出”,则可以使用
t.T.T.expanding(min_periods=2, axis=0).mean().T... p.s.不确定您是否真的关心输出,这更像是您正在寻找有关此错误的答案(此处相同)。 -
@Masoud 谢谢。很明显,我可以通过转置得到正确的结果,我只是想确定一下,我没有遗漏什么......
-
@kekert 当然。如果您发现任何有关错误/修复的信息,请告诉我们。干杯。
-
@M-- 使用 pandas 0.25.1,我无法重现该错误。也许该错误已通过pandas.pydata.org/pandas-docs/version/0.25/whatsnew/… 或pandas.pydata.org/pandas-docs/version/0.25/whatsnew/… 修复
标签: python pandas dataframe rows mean