1. <tfoot id='Y6d2H'></tfoot>
      <bdo id='Y6d2H'></bdo><ul id='Y6d2H'></ul>
  2. <small id='Y6d2H'></small><noframes id='Y6d2H'>

    <legend id='Y6d2H'><style id='Y6d2H'><dir id='Y6d2H'><q id='Y6d2H'></q></dir></style></legend>
    1. <i id='Y6d2H'><tr id='Y6d2H'><dt id='Y6d2H'><q id='Y6d2H'><span id='Y6d2H'><b id='Y6d2H'><form id='Y6d2H'><ins id='Y6d2H'></ins><ul id='Y6d2H'></ul><sub id='Y6d2H'></sub></form><legend id='Y6d2H'></legend><bdo id='Y6d2H'><pre id='Y6d2H'><center id='Y6d2H'></center></pre></bdo></b><th id='Y6d2H'></th></span></q></dt></tr></i><div id='Y6d2H'><tfoot id='Y6d2H'></tfoot><dl id='Y6d2H'><fieldset id='Y6d2H'></fieldset></dl></div>
    2. 如何在 pandas 数据框中对最大和最小时间戳进行分组

      How do I group max and min timestamp on pandas dataframe(如何在 pandas 数据框中对最大和最小时间戳进行分组)

        <tbody id='MeA3C'></tbody>
        • <small id='MeA3C'></small><noframes id='MeA3C'>

        • <tfoot id='MeA3C'></tfoot>
            <bdo id='MeA3C'></bdo><ul id='MeA3C'></ul>

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

                本文介绍了如何在 pandas 数据框中对最大和最小时间戳进行分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我想对数据集进行分组并返回最大和最小时间戳.这是我的数据

                I want to group a dataset and return the maximum and minimum timestamp. Here's my data

                id  timestamp
                1   2017-09-17 10:09:01
                2   2017-10-02 01:13:15
                1   2017-09-17 10:53:07
                1   2017-09-17 10:52:18
                2   2017-09-12 21:59:40
                

                这是我想要的输出

                id    max                   min
                1     2017-09-17 10:53:07   2017-09-17 10:09:01
                2     2017-10-02 01:13:15   2017-09-12 21:59:40
                

                这就是我所做的,代码似乎效率不高,我希望在 pandas 上有更好的方法来做到这一点

                Here's what I did, the code seems not efficient, I hope theres better way to do this on pandas

                data1 = df.sort_values('timestamp').drop_duplicates(['customer_id'], keep='last')
                data2 = df.sort_values('timestamp').drop_duplicates(['customer_id'], keep='first')
                data1['max'] = data1['timestamp']
                data2['min'] = data2['timestamp']
                data = data1.merge(data2, on = 'customer_id', how='left')
                data = data.drop(['timestamp_x','timestamp_y'], axis=1)
                

                熊猫似乎有这种枢轴

                推荐答案

                我觉得需要agg:

                df = df.groupby('id')['timestamp'].agg(['min','max']).reset_index()
                print (df)
                   id                 min                 max
                0   1 2017-09-17 10:09:01 2017-09-17 10:53:07
                1   2 2017-09-12 21:59:40 2017-10-02 01:13:15
                

                或者稍微修改一下你的解决方案(应该会更快):

                Or a bit modify your solution (should be faster):

                data = df.sort_values('timestamp')
                data1 = data.drop_duplicates(['id'], keep='last').set_index('id')
                data2 = data.drop_duplicates(['id'], keep='first').set_index('id')
                
                df = pd.concat([data1['timestamp'], data2['timestamp']],keys=('max','min'), axis=1)
                
                print (df)
                                   max                 min
                id                                        
                1  2017-09-17 10:53:07 2017-09-17 10:09:01
                2  2017-10-02 01:13:15 2017-09-12 21:59:40
                

                这篇关于如何在 pandas 数据框中对最大和最小时间戳进行分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                Running .jl file from R or Python(从 R 或 Python 运行 .jl 文件)
                Running Julia .jl file in python(在 python 中运行 Julia .jl 文件)
                Using PIP in a Azure WebApp(在 Azure WebApp 中使用 PIP)
                How to run python3.7 based flask web api on azure(如何在 azure 上运行基于 python3.7 的烧瓶 web api)
                Azure Python Web App Internal Server Error(Azure Python Web 应用程序内部服务器错误)
                Run python dlib library on azure app service(在 azure app 服务上运行 python dlib 库)
                  <bdo id='vOPup'></bdo><ul id='vOPup'></ul>

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

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

                      <legend id='vOPup'><style id='vOPup'><dir id='vOPup'><q id='vOPup'></q></dir></style></legend>
                          <tbody id='vOPup'></tbody>