<bdo id='rxRM4'></bdo><ul id='rxRM4'></ul>
<tfoot id='rxRM4'></tfoot>

  • <small id='rxRM4'></small><noframes id='rxRM4'>

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

      <legend id='rxRM4'><style id='rxRM4'><dir id='rxRM4'><q id='rxRM4'></q></dir></style></legend>
      1. PANDA中的Groupby算法和插值算法

        时间:2024-08-22

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

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

                <tfoot id='PmlFo'></tfoot>

                • 本文介绍了PANDA中的Groupby算法和插值算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有一个数据,其中包含周号、帐户ID和几个使用情况列。我希望a)按帐户ID分组,b)将每周数据重新采样为每日数据,以及c)均匀内插每日数据(将每周数据除以7),然后将其全部组合在一起。我已经记下了大部分,但是 pandas groupby让我有点迷惑。它也非常慢,这让我认为这可能不是最佳解决方案。

                  数据如下:

                      Account Id  year week         views stats foo_col 
                  31133   213     2017-03-05          4.0     2.0     11.0
                  10085   456     2017-03-12          1.0     6.0     3.0
                  49551   789     2017-03-26          1.0     6.0     27.0
                  

                  以下是我的代码:

                  def interpolator(mini_df):
                      mini_df = mini_df[cols_to_interpolate].set_index('year week')
                      return mini_df.resample('D').ffill().interpolate() / 7
                  
                  example = list(grp)[0][1]
                  interpolator(example) # This works perfectly
                  
                  df.groupby('Account Id').agg(interpolator)                # doesn't work
                  df.groupby('Account Id').transform(interpolator)          # doesn't work
                  
                  for name,group in grp:
                      group = group[cols_to_interpolate].set_index('year week')
                      group = group.resample('D').ffill().interpolate() / 7 # doesn't work
                  
                  for acc_id in df['Account Id'].unique():
                      mask = df.loc[df['Account Id'] == acc_id]
                      print(df[mask])                                     # doesn't work
                  

                  推荐答案

                  我希望您的函数应该与groupby对象链接在一起,如下所示:

                  df = (df.set_index('year week')
                          .groupby('Account Id')[cols_to_interpolate]
                          .resample('D')
                          .ffill()
                          .interpolate() / 7)
                  

                  注释中的解决方案不同-interpolate适用于每个组:

                  df.groupby('Account Id').apply(interpolator)
                  

                  这篇关于PANDA中的Groupby算法和插值算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:PANAS-基于列对行进行分组,并将NaN替换为非空值 下一篇:GROUP BY+新列+基于条件的前一行抓取值

                  相关文章

                  <legend id='ZO58n'><style id='ZO58n'><dir id='ZO58n'><q id='ZO58n'></q></dir></style></legend>

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

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

                  1. <tfoot id='ZO58n'></tfoot>