突出显示组内独特观察结果的功能

问题描述 投票:0回答:1

我希望得到帮助,创建一个函数,通过分组(非指定颜色)动态迭代一个数据框,查看id是否与每个颜色分组中的大多数id不一致(所以无论每种颜色有多少观察值,无论相当于每种颜色有一半以上的填充id,对于这种情况都是正确的)。 真实的数据集很有可能每个颜色有10-50行,而且可能会出现多个id不到位的情况。 如果我们能包含字符串注释 "Flag for later research",或者如果更简单的01输出,我可以写出相应的文本功能,那就太好了。 我有麻烦,不知道从哪里开始。 用groupby nunique函数或循环或结合两者的东西。

  • 如你所见,在 "注意 "一栏中,我留下的注释(为以后的研究做标记)对应的id与其他id不一样,在其相应的颜色分组中。

数据的样本。

color    id    commitment    Note  *(where i need help) 
blue     1     10
blue     1     5
blue     1     15
blue     2     10            Flag for later research
blue     1     9
green    3     10
green    3     11
green    2     12            Flag for later research
green    3     15
python pandas unique
1个回答
1
投票

IIUC:

df['Note'] = ~df.duplicated(['color','id'], keep=False)

给你的:

   color  id  commitment   Note
0   blue   1          10  False
1   blue   1           5  False
2   blue   1          15  False
3   blue   2          10   True
4   blue   1           9  False
5  green   3          10  False
6  green   3          11  False
7  green   2          12   True
8  green   3          15  False
© www.soinside.com 2019 - 2024. All rights reserved.