Python中数据帧的复杂聚合?

Python中数据帧的复杂聚合?,python,pandas,aggregation,Python,Pandas,Aggregation,我的数据框架如下所示: df = pd.DataFrame({"VALUE" : [100, 200, 100, 300, 500], "PRODUCT_ID" : [599, 200, 599, 599, 200], "STATUS" : ["active", "active", "not_active&quo

我的数据框架如下所示:

df = pd.DataFrame({"VALUE" : [100, 200, 100, 300, 500],
                   "PRODUCT_ID" : [599, 200, 599, 599, 200],
                   "STATUS" : ["active", "active", "not_active", "unknown", "active"], 
                   "CLIENT" : ["1", "1", "2", "2", "1"]})
我需要计算每个
客户
的平均值、中值和最大
值,每个
产品ID
,状态为“活动”
。我需要这样的东西:

AVG=266,6
因为:(500+200+100):3
MED=200

MAX=500
因为500是客户端1的活动聚合上的最大值

试试:

输出:

              mean  median    max
CLIENT                           
1       266.666667   200.0  500.0
2              NaN     NaN    NaN
你能试试这个吗

  df[df['STATUS'] == 'active'].groupby(['PRODUCT_ID', 'CLIENT']).agg(['mean','median','max'])
输出:

                 VALUE
                 mean   median  max
         PRODUCT_ID CLIENT          
          200       1   350 350 500
          599       1   100 100 100

好的,但是有没有可能也考虑到没有活动状态的客户2并给他NaN?请参阅更新的答案您在另一个答案中添加了什么值?原始问题要求每个产品ID有三个统计信息。我没有看到Quang的答案按产品ID分组。我的回答是我不明白这个问题吗?
                 VALUE
                 mean   median  max
         PRODUCT_ID CLIENT          
          200       1   350 350 500
          599       1   100 100 100