Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从数据框中查找新客户/现有客户_Python_Pandas - Fatal编程技术网

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

Python 从数据框中查找新客户/现有客户,python,pandas,Python,Pandas,我需要创建一个分类列,指示客户帐户代码是第一次出现,即“新”还是在“现有”之前出现 只有第一个事件需要被视为“新的”,其余事件,无论事件之间的差距如何,都应被视为“现有的” 我试着在唯一帐户代码列表中循环,在该列表中,我将过滤特定帐户代码的数据框,并找到存储在单独表中的最小日期。然后查找这个表,我会在分类列中输入新的/现有的标记。但无法正确执行它。 有没有一个简单的方法来实现它 我已将样本文件附在下面: 此外,数据中还有一些非UTF-8编码字符,我无法处理这些字符。请尝试: df.assign

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

只有第一个事件需要被视为“新的”,其余事件,无论事件之间的差距如何,都应被视为“现有的”

我试着在唯一帐户代码列表中循环,在该列表中,我将过滤特定帐户代码的数据框,并找到存储在单独表中的最小日期。然后查找这个表,我会在分类列中输入新的/现有的标记。但无法正确执行它。 有没有一个简单的方法来实现它

我已将样本文件附在下面:

此外,数据中还有一些非UTF-8编码字符,我无法处理这些字符。

请尝试:

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

我们能看看你试过什么吗?请分享一个数据样本,而不是在你的问题中发布一个数据样本,而不是一张图片看起来与我过去问过的问题非常相似,看看这个答案,我有时喜欢使用assign,因为它会返回原始数据帧的副本,而不是使用类似于
df['Occurance']=…
的东西修改原始数据帧。它似乎可以工作,是否需要确认数据是否需要根据该操作之前的日期进行排序?@SaudMeethal Yes,如果要按时间顺序进行排序,则需要对其进行排序,否则只需从上到下使用数据帧中的第一个出现项,而不考虑排序。