首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pandas中输出分组列之间的差异?

如何在pandas中输出分组列之间的差异?
EN

Stack Overflow用户
提问于 2018-01-10 00:18:25
回答 1查看 32关注 0票数 0

我有一个看起来像这样的DataFrame:

代码语言:javascript
复制
 Product Family   Date     Price Type    Price
 Cereal            2017-11           1     4.99
 Cereal            2017-12           1     4.59
 Cheese            2017-11           1     3.99
 Cheese            2017-12           2     3.99
 Oats              2017-11           3     5.99
 Oats              2018-12           3     5.99

数据按月分组。我想要的是为每个产品系列输出/标记价格类型与上个月不同的行。所以在这个例子中,我想要返回类似这样的东西:

代码语言:javascript
复制
  Product Family   Date     Price Type    Price   Flag
  Cheese            2017-11           1     3.99  price type change
  Cheese            2017-12           2     3.99  price type change

我试图制定布尔语句并将其分配到“Flag”列,但我不断收到错误,并且每个产品系列的数据不是每月进行比较。

EN

回答 1

Stack Overflow用户

发布于 2018-01-10 00:25:41

代码语言:javascript
复制
df['Flag']=df.groupby('ProductFamily').PriceType.transform('nunique').gt(1).map({True:'Flag',False:'Not Flag'})
df
Out[59]: 
  ProductFamily     Date  PriceType  Price      Flag
0        Cereal  2017-11          1   4.99  Not Flag
1        Cereal  2017-12          1   4.59  Not Flag
2        Cheese  2017-11          1   3.99      Flag
3        Cheese  2017-12          2   3.99      Flag
4          Oats  2017-11          3   5.99  Not Flag
5          Oats  2018-12          3   5.99  Not Flag
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48172438

复制
相关文章

相似问题

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