按最大值划分Pandas组

2024-10-01 00:17:11 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: 数据代码namefor错误group规范化users
1条回答
网友
1楼 · 发布于 2024-10-01 00:17:11

使用groupby和{}

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

根据杰夫的建议

^{pr2}$

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

相关问题 更多 >