Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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 dataframe使用set()查找2015年的所有新计算机_Python_Dataframe_Set - Fatal编程技术网

Python dataframe使用set()查找2015年的所有新计算机

Python dataframe使用set()查找2015年的所有新计算机,python,dataframe,set,Python,Dataframe,Set,我有一个数据框,有许多不同生产商的电脑,在不同年份发布,它们的销售数字 现在,我的目标是找到2015年发布的所有新电脑,这些电脑在任何一年前都不存在。这意味着我必须控制,如果计算机名称在2015年之前的任何年份列出,如果是,我想删除2015年列表中的这些计算机名称。此外,还有20162017年发布的计算机,。。。这不应该被忘记。 我想知道这些新电脑的数量 嗯,我有这么多的值,我不知道是否有重复的名字,只是不同的年份,但这是我的第一个想法 df_noduplicates=df[df.Year<

我有一个数据框,有许多不同生产商的电脑,在不同年份发布,它们的销售数字

现在,我的目标是找到2015年发布的所有新电脑,这些电脑在任何一年前都不存在。这意味着我必须控制,如果计算机名称在2015年之前的任何年份列出,如果是,我想删除2015年列表中的这些计算机名称。此外,还有20162017年发布的计算机,。。。这不应该被忘记。 我想知道这些新电脑的数量

嗯,我有这么多的值,我不知道是否有重复的名字,只是不同的年份,但这是我的第一个想法

df_noduplicates=df[df.Year<2016](subset=['Name'], keep='first')
df_Year2013 = df[df.Year==2015]
print(df_Year2015.shape(0))
df_noduplicates=df[df.Year

#find all computers' names present before 2015
s = set(df[df.Year<2015]['Name'])

# extract from the dataframe the lines where the name isn't already in s AND are there in 2015 (be carefull about those parenthesis)
subset_df = df[(df.Name.isin(s)==False) & (df.Year==2015)]

#print the names directly from the subset :
new_names  = subset_df['Name'].tolist()
print(new_names)
#查找2015年之前存在的所有计算机的名称

s=set(df[df.YearHello!您能添加一些示例数据吗?:)仅供参考,您的错误是因为
df[df.year我理解第一行。我会整批编辑它,以便于理解。我理解第一行。我不确定第二行。如果我是对的,set会删除所有重复项,只留下2015年不会出现的第一行。第二行控制名称是否在我的set列表中,如果不在,则会添加d到列表中。对不起,我有点困惑,但我不认为,我得到的是2015年刚刚发布的计算机。啊,好的,谢谢你,但正如我所说的,我想要的是2015年才发布的所有计算机,在任何年份之前都没有出现过。顺便说一句,我刚刚更正了两个拼写错误。我确实犯了一个关于这一年的错误。。。