【问题标题】:How can I use Pandas to get data from min&max Date to new column如何使用 Pandas 将数据从 min max Date 获取到新列
【发布时间】:2022-08-02 17:51:44
【问题描述】:

嗨,我正在寻找可能的方法来使用 pandas 从每个组(用户名)的 min(pre) 和 max(pos) 日期中选择数据并将它们重新整形回列。 我可以从 \'groupby\' 中获取组的最小值/最大值,但仍然无法弄清楚如何将它们放回列中

感谢所有的建议

这是示例数据表...

Username log_date         Score
AA       20211227020024   8
BB       20211227020024   26
CC       20211227020024   78
DD       20220122153004   12
AA       20220122153004   13
CC       20220122153004   0
AA       20220122153004   12
BB       20220124002736   10
CC       20220124002736   17

这是预期的输出..

USERNAME Pre_Date       Pos_Date        Pre     Pos
AA       20211227020024 20220122153004  8       25
BB       20211227020024 20220124002736  26      10
CC       20211227020024 20220124002736  78      17
DD       20220122153004 -               12      0

    标签: python-3.x pandas


    【解决方案1】:

    这是你所期待的吗?

    df.groupby('Username')['log_date'].agg(['min', 'max']).reset_index()
    

    运营商:

      Username             min             max
    0       AA  20211227020024  20220122153004
    1       BB  20211227020024  20220124002736
    2       CC  20211227020024  20220124002736
    3       DD  20220122153004  20220122153004
    

    【讨论】:

      【解决方案2】:

      尝试:

      df.groupby('Username').agg((min, max))
      

      结果:

                 log_date                         Score
                 min              max             min     max
      Username                
      AA         20211227020024   20220122153004  8       13
      BB         20211227020024   20220124002736  10      26
      CC         20211227020024   20220124002736  0       78
      DD         20220122153004   20220122153004  12      12
      

      然后您可以根据需要重命名列

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-25
        • 2019-10-09
        • 1970-01-01
        • 2022-07-16
        • 1970-01-01
        • 2017-06-10
        • 2020-02-25
        • 2020-06-18
        相关资源
        最近更新 更多