我需要创建一个类别列,以指示客户帐户代码是第一次发生的,即“新建”,还是在出现之前的“现有”。
只有第一个事件需要被视为“新”,其余所有事件(无论出现的差异如何)都应被视为“现有”。
我尝试遍历唯一帐户代码列表,在该列表中,我将过滤特定帐户代码的数据框,并找到将存储在单独表格中的最短日期。然后查找该表,我将在分类列中输入“新建/现有”标签。但是无法正确执行。 有没有简单的方法可以实现它?
我在下面附加了示例文件:
数据也包含一些我无法处理的非UTF-8编码字符。
答案 0 :(得分:3)
尝试:
df.assign(Occurence=np.where(~df['Account Code'].duplicated(),'New','Existing'))
输出:
Created Date Account Code Occurence
0 7-Sep-13 CL000247 New
1 7-Sep-13 CL000012 New
2 7-Sep-13 CL000875 New
3 7-Sep-13 CL000084 New
4 7-Sep-13 CL000186 New
5 7-Sep-13 CL000167 New
6 7-Sep-13 CL000167 Existing
7 7-Sep-13 CL000215 New
8 12-Sep-13 Wan2013001419 New
9 12-Sep-13 CL000097 New
...