<legend id='3wVsM'><style id='3wVsM'><dir id='3wVsM'><q id='3wVsM'></q></dir></style></legend>
    1. <tfoot id='3wVsM'></tfoot>

        <small id='3wVsM'></small><noframes id='3wVsM'>

          <bdo id='3wVsM'></bdo><ul id='3wVsM'></ul>
        <i id='3wVsM'><tr id='3wVsM'><dt id='3wVsM'><q id='3wVsM'><span id='3wVsM'><b id='3wVsM'><form id='3wVsM'><ins id='3wVsM'></ins><ul id='3wVsM'></ul><sub id='3wVsM'></sub></form><legend id='3wVsM'></legend><bdo id='3wVsM'><pre id='3wVsM'><center id='3wVsM'></center></pre></bdo></b><th id='3wVsM'></th></span></q></dt></tr></i><div id='3wVsM'><tfoot id='3wVsM'></tfoot><dl id='3wVsM'><fieldset id='3wVsM'></fieldset></dl></div>
      1. 具有多列和最大值的 pandas 分组依据

        时间:2024-08-21
          <bdo id='9dogw'></bdo><ul id='9dogw'></ul>
        • <small id='9dogw'></small><noframes id='9dogw'>

          <tfoot id='9dogw'></tfoot>
                <i id='9dogw'><tr id='9dogw'><dt id='9dogw'><q id='9dogw'><span id='9dogw'><b id='9dogw'><form id='9dogw'><ins id='9dogw'></ins><ul id='9dogw'></ul><sub id='9dogw'></sub></form><legend id='9dogw'></legend><bdo id='9dogw'><pre id='9dogw'><center id='9dogw'></center></pre></bdo></b><th id='9dogw'></th></span></q></dt></tr></i><div id='9dogw'><tfoot id='9dogw'></tfoot><dl id='9dogw'><fieldset id='9dogw'></fieldset></dl></div>
                  <tbody id='9dogw'></tbody>

                • <legend id='9dogw'><style id='9dogw'><dir id='9dogw'><q id='9dogw'></q></dir></style></legend>
                  本文介绍了具有多列和最大值的 pandas 分组依据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我对多列和max值的group by有一些问题。

                  A   B   C   D   E   F   G   H
                  
                  x   q   e   m   k   2   1   y
                  x   q   e   n   l   5   2   y
                  x   w   e   b   j   7   3   y
                  x   w   e   v   h   3   4   y
                  

                  此查询正确,并返回我需要的内容。

                  SELECT A, B, C, D, E, MAX(F) FROM mytable group by A, B, C
                  

                  结果

                   x   q   e   n   l   5
                   x   w   e   b   j   7
                  

                  如何在 pandas 身上实现这一目标?

                  我尝试这个:

                  df.groupby(['A', 'B', 'C'], as_index=False)['F'].max()
                  

                  转换为:

                  SELECT A, B, C, MAX(F) FROM mytable group by A, B, C
                  

                  这也不起作用

                  df.groupby(['A', 'B', 'C'], as_index=False)['F','D','E'].max()
                  

                  如何在SQL查询中按原样返回D、E列?

                  推荐答案

                  您似乎需要

                  groups = ['A', 'B', 'C']
                  selects = ['A', 'B', 'C','D', 'E','F']
                  
                  df.groupby(groups, as_index=False).apply(lambda s: s.loc[s.F.idxmax(), selects]).reset_index(drop=True)
                  
                      A   B   C   D   E   F
                  0   x   q   e   n   l   5
                  1   x   w   e   b   j   7
                  

                  这篇关于具有多列和最大值的 pandas 分组依据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:数据帧中从第一行开始的间隔[python 3.6.0] 下一篇:是否为两列之间的所有日期添加行?

                  相关文章

                    <bdo id='ibT3v'></bdo><ul id='ibT3v'></ul>

                  <i id='ibT3v'><tr id='ibT3v'><dt id='ibT3v'><q id='ibT3v'><span id='ibT3v'><b id='ibT3v'><form id='ibT3v'><ins id='ibT3v'></ins><ul id='ibT3v'></ul><sub id='ibT3v'></sub></form><legend id='ibT3v'></legend><bdo id='ibT3v'><pre id='ibT3v'><center id='ibT3v'></center></pre></bdo></b><th id='ibT3v'></th></span></q></dt></tr></i><div id='ibT3v'><tfoot id='ibT3v'></tfoot><dl id='ibT3v'><fieldset id='ibT3v'></fieldset></dl></div>
                • <legend id='ibT3v'><style id='ibT3v'><dir id='ibT3v'><q id='ibT3v'></q></dir></style></legend>

                  <small id='ibT3v'></small><noframes id='ibT3v'>

                      <tfoot id='ibT3v'></tfoot>