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

        <legend id='5SMsL'><style id='5SMsL'><dir id='5SMsL'><q id='5SMsL'></q></dir></style></legend>

          <bdo id='5SMsL'></bdo><ul id='5SMsL'></ul>
      1. <small id='5SMsL'></small><noframes id='5SMsL'>

        pandas 有从特定日期开始的按月分组的方式吗?

        时间:2024-08-22

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

      2. <legend id='Ola7d'><style id='Ola7d'><dir id='Ola7d'><q id='Ola7d'></q></dir></style></legend>

          <tbody id='Ola7d'></tbody>
          • <bdo id='Ola7d'></bdo><ul id='Ola7d'></ul>

            • <tfoot id='Ola7d'></tfoot>

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

                  本文介绍了 pandas 有从特定日期开始的按月分组的方式吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试用python按月分组一些数据,但是我需要每个月的25号开始,有没有办法在Pandas中做到这一点?

                  几个星期以来,有一种方法可以从周一、周二开始……但有几个月总是满月。

                  pd.Grouper(key='date', freq='M')
                  

                  推荐答案

                  我准备了以下测试数据帧:

                           Dat  Val
                  0 2017-03-24    0
                  1 2017-03-25    0
                  2 2017-03-26    1
                  3 2017-03-27    0
                  4 2017-04-24    0
                  5 2017-04-25    0
                  6 2017-05-24    0
                  7 2017-05-25    2
                  8 2017-05-26    0
                  

                  第一步是计算"Shift Date"列:

                  df['Dat2'] = df.Dat + pd.DateOffset(days=-24)
                  

                  结果为:

                           Dat  Val       Dat2
                  0 2017-03-24    0 2017-02-28
                  1 2017-03-25    0 2017-03-01
                  2 2017-03-26    1 2017-03-02
                  3 2017-03-27    0 2017-03-03
                  4 2017-04-24    0 2017-03-31
                  5 2017-04-25    0 2017-04-01
                  6 2017-05-24    0 2017-04-30
                  7 2017-05-25    2 2017-05-01
                  8 2017-05-26    0 2017-05-02
                  

                  如您所见,Dat2中的3月日期正好从原日期2017-03-25开始, 以此类推。

                  %1的值在三月(Dat2),%2的值在五月(也就是Dat2)。

                  然后,要计算例如按月求和,我们可以运行:

                  df.groupby(pd.Grouper(key='Dat2', freq='MS')).sum()
                  

                  获取:

                              Val
                  Dat2           
                  2017-02-01    0
                  2017-03-01    1
                  2017-04-01    0
                  2017-05-01    2
                  

                  这样我们就有了正确的分组:

                  • %1在三月,
                  • %2在5月。
                  与其他答案相比,优势在于您的所有日期都在第一个答案上 当然要记住,例如2017-03-01 结果表示2017-03-252017-04-24(含)的时间段。

                  这篇关于 pandas 有从特定日期开始的按月分组的方式吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:GROUP BY+新列+基于条件的前一行抓取值 下一篇:Pandas中的GROUP BY AND SUM不丢失列

                  相关文章

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

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