繁体   English   中英

如何比较每个时间段的字符串变化

[英]How to compare string changes per time period

我有一个每个客户每月记录的数据集,如下所示。 我想检查一下,与客户在每个季度开始时的值相比,FREQ是否在季度结束时进行了更改,并添加了新列作为指示符以显示更改或不更改。 不确定是否有任何方法可以实现这一目标,谢谢您的指教!

============

  Month        Client      FREQ   
 2019-01-01       A        Weekly
 2019-02-01       A        Weekly
 2019-03-01       A        Monthly
 2019-01-01       B        Weekly
 2019-02-01       B        Weekly
 2019-03-01       B        Weekly

预期的输出将是:

  Month        Client      FREQ        Changes 
 2019-01-01       A        Weekly
 2019-02-01       A        Weekly
 2019-03-01       A        Monthly      Yes
 2019-01-01       B        Weekly
 2019-02-01       B        Weekly
 2019-03-01       B        Weekly        No 

一种使用groupby对象的方式: GroupBy.tailGroupBy.nunique

g = df.groupby('Client')
df.loc[g.tail(1).index, 'Changes'] = g.FREQ.nunique().ne(1)\
                                                     .map({True: 'Yes', False: 'No'})\
                                                     .tolist()

        Month Client     FREQ Changes
0  2019-01-01      A   Weekly     NaN
1  2019-02-01      A   Weekly     NaN
2  2019-03-01      A  Monthly     Yes
3  2019-01-01      B   Weekly     NaN
4  2019-02-01      B   Weekly     NaN
5  2019-03-01      B   Weekly      No

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM