Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫组除以最大值_Python_Pandas - Fatal编程技术网

Python 熊猫组除以最大值

Python 熊猫组除以最大值,python,pandas,Python,Pandas,我试图通过除以每个组中的最大用户数来规范化用户数。我能够得到要计算的结果(注释掉了有效的打印内容),但是我无法将结果保存回原始表。下面的代码不会引发错误,但也不会向weeklyPerson添加任何数据: weeklyPersonGroups=weeklyPerson.groupby('Person') PersonMax=weeklyPersonGroups['users'].max() for name, group in weeklyPersonGroups: #print(week

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

使用
groupby
transform

weeklyPerson.groupby('Person').users.transform(lambda x: x / x.max())
根据@Jeff的建议

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

这避免了在不必要时使用
lambda

这是非常低效的;如果没有必要,请不要使用lamba内部转换(这里没有)@Jeff正在处理这条评论以及你的另一条评论。谢谢你的两条评论!两者都比我想做的要优雅得多。lambda函数的哪些方面降低了它的效率?我发现这个答案看起来更直观。