django:对组进行注释然后再加入(作为pandas groupby + transform)

时间:2016-05-04 06:30:20

标签: python django pandas orm annotate

在django设置中,给定一个包含列的表

`id`,`x`,`y`,`z` 

我需要

  • groupby y
  • 在每个组中找到z的最大值
  • 加入结果,以便我最终得到一个表格

    idxyzmax_z

我设法通过

获得组最大值
 max_z = table.objects.values('y').annotate(max_z = Max('z'))

然而,我正在努力进行“加入回来”行动 如果我将新查询遍历为

 max_z.values('id','x','y','z','max_z')

然后列max_zz读取相等。即

 `max_z == z` for each `id`

因此max_z不再代表每个组的最大值。

例如,在pandas背景中,此处的操作将为

 df['max_z'] = df.groupby('y').z.transform('max')

任何帮助表示赞赏

0 个答案:

没有答案