您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python Pandas组中的最大值为新列

5b51 2022/1/14 8:22:04 python 字数 1413 阅读 512 来源 www.jb51.cc/python

我正在尝试计算一个新列,其中包含多个组中每个组的最大值.我来自Stata背景,所以我知道Stata代码会是这样的:by group, sort: egen max = max(odds) 例如:data = {'group' : ['A', 'A', 'B','B'], 'odds' : [85, 75, 60, 65]} 然后我希望它看起来像:

概述

我正在尝试计算一个新列,其中包含多个组中每个组的最大值.我来自Stata背景,所以我知道Stata代码会是这样的:

by group,sort: egen max = max(odds) 

例如:

data = {'group' : ['A','A','B','B'],'odds' : [85,75,60,65]}

然后我希望它看起来像:

    group    odds    max
     A        85      85
     A        75      85
     B        60      65
     B        65      65

最终我试图形成一个列,其中每个组的最大值和最小值为1 /(最大 – 最小)*赔率.

df['max'] = df.groupby('group')['odds'].transform('max')

这相当于详细:

maxima = df.groupby('group')['odds'].max()
df['max'] = df['group'].map(maxima)

transform方法将groupby结果与groupby索引器对齐,因此不需要显式映射.

总结

以上是编程之家为你收集整理的Python Pandas组中的最大值为新列全部内容,希望文章能够帮你解决Python Pandas组中的最大值为新列所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶