python 'SeriesGroupBy' object has no attribute quantile(0.1)

R语言转成python. 求助

R 语言如下

SingleM <- data.frame(SingleM %>% group_by(Parameter,filename)%>% 
                        mutate(P10=quantile (Value, probs=0.1), P90=quantile (Value, probs=0.9),
                               max=max(Value), min=min(Value)))

Python 写成下面的不对

SingleM = SingleM.groupby(['Par','Filename']).agg( P10=('Value','quantile(0.1)'), P90= ('Value', 'quantile(0.9)'), max = ('Value','max'), min = ('Value', 'min'))

python 报错如下:
AttributeError: 'SeriesGroupBy' object has no attribute 'quantile(.1)'

SingleM = SingleM.groupby(['Par','Filename']).apply(lambda x: pd.DataFrame([[x.Value.quantile(0.1),x.Value.quantile(0.9),x.Value.max(),x.Value.min()]],columns=['P10','P90','max','min'])).reset_index()#P10=(quantile(Value,0.1)), P90= (np.quantile(Value,0.9)),

第二种写法应该正确 但是如何去掉那个level 2 的列呢,试了reset_index() 好像也有问题
image.png

df quantile API 如下:
pandas.DataFrame.quantile
DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpolation='linear')

阅读 3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏