【问题标题】:Return Mean Max with Different Group value返回具有不同组值的平均最大值
【发布时间】:2020-04-26 13:02:00
【问题描述】:

我想按两个组级别获取最小值,例如按季度分组的最小值和按季度按季度分组的最小值。并寻找是否有其他方法可以代替表加入,因为我认为表加入很慢。

例如我有一个数据集

   Date       Quarter  Year Store Price     Sales Unit
   1-1-2020    Q1      2020   A     1            1
   31-1-2020   Q1      2020   A     3            0
   1-2-2020    Q1      2020   B     2            1
   1-5-2020    Q2      2020   A     4            3
   1-9-2020    Q4      2020   B     5            9

预期结果

    Date       Quarter Year  Store  Price  Sales Unit   Min by Quarter    Min by Quarter by Store
   1-1-2020    Q1      2020   A     1            1      1  (1,3,2 in Q1)    1  (1,3 in store A and Q1)
   31-1-2020   Q1      2020   A     3            0      1                   1
   1-2-2020    Q1      2020   B     2            1      1                   2
   1-5-2020    Q2      2020   A     4            3      4                   4 
   1-9-2020    Q4      2020   B     5            9      5                   5

谢谢

【问题讨论】:

    标签: python python-3.x pandas pandas-groupby etl


    【解决方案1】:

    将GroupBy.transform 与min 一起用于每个组的新列填充聚合值:

    df['Min by Quarter'] = df.groupby('Quarter')['Price'].transform('min')
    df['Min by Quarter by Store'] = df.groupby(['Quarter', 'Store'])['Price'].transform('min')
    print (df)
            Date Quarter  Year Store  Price  Sales Unit  Min by Quarter  \
    0   1-1-2020      Q1  2020     A      1           1               1   
    1  31-1-2020      Q1  2020     A      3           0               1   
    2   1-2-2020      Q1  2020     B      2           1               1   
    3   1-5-2020      Q2  2020     A      4           3               4   
    4   1-9-2020      Q4  2020     B      5           9               5   
    
       Min by Quarter by Store  
    0                        1  
    1                        1  
    2                        2  
    3                        4  
    4                        5  
    

    【讨论】:

      猜你喜欢
      • 2018-07-16
      • 2021-12-28
      • 2014-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-04
      • 2022-11-10
      相关资源
      最近更新 更多