首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按数据分组并在每个组中查找具有相似值的行。

按数据分组并在每个组中查找具有相似值的行。
EN

Stack Overflow用户
提问于 2022-02-14 17:34:10
回答 1查看 70关注 0票数 1

我正在使用一个有20个Id的数据框架,对于每个Id,大约有3个商店,每个商店至少每周有3次销售和价格弹性。

数据:

代码语言:javascript
复制
data = 
ID      STORE  WEEK_NUM   Price_elasticity          
100001  1      1          0.5
100001  1      2          0.5
100001  1      3          0.5
100001  2      1          0.5
100001  2      2          0.9
100001  2      3          0.6
100002  1      1          0.3
100002  1      2          0.3
100002  1      3          0.3
100002  2      1          0.8
100002  2      2          0.8
100002  2      3          0.5

问题:

我想找出每一个项目的几个星期

我的尝试:

代码语言:javascript
复制
dft = data.groupby(['ID','STORE']).agg({'Price_Elasticity':'nunique','WEEK_NUM':'count'})
dft = dft.reset_index()
dft = dft[dft['Price_Elasticity'] <= 1]
dft

预期结果:

代码语言:javascript
复制
ID      STORE  WEEK_NUM   Price_elasticity          
100001  1      1          0.5
100001  1      2          0.5
100001  1      3          0.5
100002  1      1          0.3
100002  1      2          0.3
100002  1      2          0.3
100002  2      1          0.8
100002  2      2          0.8
EN

回答 1

Stack Overflow用户

发布于 2022-02-15 16:34:46

考虑合并到值计数数据帧,并返回计数大于1的任何值:

代码语言:javascript
复制
value_counts_df = (
    df.groupby(["ID", "STORE"])["Price_elasticity"]
      .value_counts()
      .rename("value_count")
      .to_frame()
      .reset_index()
)

df = (
    df.merge(
        value_counts_df,
        on = ["ID", "STORE", "Price_elasticity"]
    ).query("value_count > 1")
    .drop(["value_count"], axis="columns")
    .reset_index(drop=True)
)

df
       ID  STORE  WEEK_NUM  Price_elasticity
0  100001      1         1               0.5
1  100001      1         2               0.5
2  100001      1         3               0.5
3  100002      1         1               0.3
4  100002      1         2               0.3
5  100002      1         3               0.3
6  100002      2         1               0.8
7  100002      2         2               0.8
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71115955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档