为何筛选出来不是所想的
df=pd.DataFrame([[‘小明’,15,’一中’,99,4],
[‘小美’,12,’一中’,63,1],
[‘灰灰’,19,’一中’,85,2],
[‘铭铭’,12,’一中’,76,2],
[‘豪豪’,15,’一中’,55,4],
[‘小黄’,18,’二中’,68,1],
[‘小黑’,18,’二中’,85,1]],
columns=[‘姓名’,’年龄’,’学校’,’成绩’,’类别’])
df1=(
df.groupby([‘年龄’,’学校’])
.filter(lambda x:(len(x)>1) & (1 not in x.类别))
)
print(df1)
结果:
姓名 年龄 学校 成绩 类别
0 小明 15 一中 99 4
4 豪豪 15 一中 55 4
5 小黄 18 二中 68 1
6 小黑 18 二中 85 1
为什么小黄和小黑这两条会出现呢,我不是定了筛选条件“1不在类别里”了吗
还是改为英文变量名,方便输入,下面是完整代码: