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