从数据框中查找新客户/现有客户

时间:2018-12-07 15:27:56

标签: python pandas

我需要创建一个类别列,以指示客户帐户代码是第一次发生的,即“新建”,还是在出现之前的“现有”。

只有第一个事件需要被视为“新”,其余所有事件(无论出现的差异如何)都应被视为“现有”。

我尝试遍历唯一帐户代码列表,在该列表中,我将过滤特定帐户代码的数据框,并找到将存储在单独表格中的最短日期。然后查找该表,我将在分类列中输入“新建/现有”标签。但是无法正确执行。 有没有简单的方法可以实现它?

我在下面附加了示例文件:

Sample Data

数据也包含一些我无法处理的非UTF-8编码字符。

1 个答案:

答案 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
...