繁体   English   中英

熊猫集团除以马克斯

[英]Pandas Group to Divide by Max

我正在尝试通过除以每个组中的最大用户数来归一化用户数。 我能够得到要计算的结果(注释了可以打印的内容),但是我很难将结果保存回原始表。 下面的代码不会引发错误,但是也不会向weeklyPerson添加任何数据:

weeklyPersonGroups=weeklyPerson.groupby('Person')
PersonMax=weeklyPersonGroups['users'].max()
for name, group in weeklyPersonGroups:
    #print(weeklyPerson[weeklyPerson['Person']==name]['users']/PersonMax[name])
    weeklyPerson[weeklyPerson['Person']==name]['usersNorm']=weeklyPerson[weeklyPerson['Person']==name]['users']/PersonMax[name]

使用groupbytransform

weeklyPerson.groupby('Person').users.transform(lambda x: x / x.max())

每个@杰夫的建议

weeklyPerson.users / weeklyPerson.groupby('Person').users.transform(np.max)

这样可以避免在不需要时使用lambda

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM