美文网首页
jupyter做groupyby,agg聚合时不报错,但pych

jupyter做groupyby,agg聚合时不报错,但pych

作者: 丙吉 | 来源:发表于2022-07-27 13:39 被阅读0次

问题:jupyter做groupyby聚合时用agg不报错,但pycharm上报错ValueError: Must produce aggregated value

代码如下:

df=df.groupby('continu_flag').agg(
            {'uli': lambda x: np.unique(x), 'appeartime': lambda x: list(x)[0],
             'stayTime': lambda x: sum(x)}).reset_index(drop=True)

解决方法:

transform和agg所不一样的地方,对agg而言,会计算得到A,B,C公司对应的均值并直接返回,但对transform而言,则会对每一条数据求得相应的结果,同一组内的样本会有相同的值,组内求完均值后会按照原索引的顺序返回结果,详细见下图:


image.png
image.png
具体为什么改了下面的可以在pycharm上运行,原因还没搞清楚,总之是可以了。
df_g = df.groupby('continu_flag')
df_uli = df_g[['uli','appeartime']].transform(lambda x:list(x)[0])
df_uli['stayTime'] = tra_df_g['stayTime'].transform(np.sum)
df_uli = tra_df_uli.drop_duplicates(keep='first')

参考:
https://zhuanlan.zhihu.com/p/101284491
https://blog.csdn.net/qq_42314245/article/details/115469438

相关文章

网友评论

      本文标题:jupyter做groupyby,agg聚合时不报错,但pych

      本文链接:https://www.haomeiwen.com/subject/dclcirtx.html