Pandas groupby()不接受带选项的apply()方法

2024-04-24 00:01:29 发布

您现在位置:Python中文网/ 问答频道 /正文

使用以下示例:

arrays = [['one','one','one','two','two','two'],[1,2,3,1,2,3]]
df = pd.DataFrame(np.random.randn(6,2),index=pd.MultiIndex.from_tuples(zip(*arrays)),columns=['A','B'])

正如预期的那样,此应用程序适用于groupby对象:

^{pr2}$

但是,当为apply指定选项时,会引发一个错误:

df.groupby(level=0).apply(lambda x: pd.rolling_mean(x, window=3, center=True), raw=True)    
TypeError: <lambda>() got an unexpected keyword argument 'raw'

我不知道我哪里出了问题。在

注意:对于非多索引对象,它似乎可以很好地工作

Pandas: Timing difference between Function and Apply to Series


Tags: 对象lambdatrue示例dataframedfrawnp
1条回答
网友
1楼 · 发布于 2024-04-24 00:01:29

对于DataFrames和GroupBy对象,有不同的apply方法。只有DataFrame.apply有一个raw参数:

help(df.apply)
# Output:
Help on method apply in module pandas.core.frame:

apply(self, func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds) method of pandas.core.frame.DataFrame instance
    Applies function along input axis of DataFrame.
...

鉴于groupby:

^{pr2}$

相关问题 更多 >