熊猫集团除以麦克斯

时间:2016-09-01 23:40:17

标签: python pandas

我正在尝试通过除以每个组中的最大用户来规范化用户数。我能够得到结果来计算(注释掉有效的打印),但是我无法将结果保存回原始表格。下面的代码不会引发错误,但它也不会向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]

1 个答案:

答案 0 :(得分:3)

使用groupbytransform

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

Per @ Jeff的建议

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

这可以避免在没有必要时使用lambda