我有需要按均值或中位数分组的数据。我想为此编写一个函数。这是我到目前为止尝试过的
def clean(data, met = np.mean):
data_grouped = data.groupby(['zipcode','neighbourhood'], as_index=False).met()[['zipcode', 'neighbourhood','revenue']]
return data_grouped
这会引发错误
AttributeError: 'DataFrameGroupBy' object has no attribute 'met'
我该怎么办?
答案 0 :(得分:1)
尝试一下:
您可以在最后将met
更改为median
(而不是mean
,但是对我来说,它仅在我指定了实际的groupby
方法(而不是使用numpy
)。
另外,请注意met
位于表达式的开头而不是结尾
def clean(data, met = pandas.core.groupby.groupby.SeriesGroupBy.mean):
return met(data.groupby(['zipcode','neighbourhood'], as_index=False)['zipcode', 'neighbourhood','revenue'])
它在另一个数据集上为我工作