我有13个不同品牌(xx、yy、zz等)的数据框,每个品牌都有365行(品牌的观察值为整整一年)。这就是结果测向头(). 你知道吗
brand exMarketplaces incMarketplaces availabilityRate
date
2015-08-01 xx 54372.8601 65826.384700 0.260209
2015-08-02 xx 74335.6785 89722.492300 0.255547
2015-08-03 xx 78563.0134 110132.200751 0.262365
2015-08-04 xx 84414.0774 104982.190444 0.261942
2015-08-05 xx 70499.8071 87368.524093 0.263748
我试图根据exMarketplaces列在组级别上删除异常值。下面的代码对整个数据帧执行此操作(不考虑品牌)。你知道吗
df_clean = df[np.abs(df.exMarketplaces-df.exMarketplaces.mean())<=(3*df.exMarketplaces.std())]
不过,我想在品牌层面上完成这个操作。因此,实际上,这个操作应该为13个品牌中的每一个运行13次,结果将是一个dataframe对象,并删除所有异常值。你知道吗
有人能提出一个办法吗?我有直觉认为这是一件很简单的事情,我在这里错过了一个技巧。你知道吗
提前谢谢。你知道吗
执行
Groupby
w.r.tbrand列,并使用apply在感兴趣的列上运行函数,最后获取数据帧的过滤子集,如图所示:相关问题 更多 >
编程相关推荐