有这样一个DF:
In [116]: df
Out[116]:
route Mo Tu We Th Fr Sa Su
0 108 1 1 1 1 1 0 0
1 108 0 0 0 0 0 0 1
2 108 0 0 0 0 0 1 0
3 121 1 1 1 1 1 0 0
4 110 1 1 1 1 1 0 0
5 110 0 0 0 0 0 1 0
有必要只找到那些route
不在周末工作的人 -sa = 0
和su = 0
。问题是路线与不同的时间表选项重复,事实证明,如果您设置条件 sub=0,sun=0,那么结果将删除 sub=1 和 sun=1 的重复项。
比如110路有两个字段,清楚的表明他每天走路,不需要。问题很复杂,因为有些路线也不需要 3 个选项。
结果应该是这样的:
In [116]: df
Out[116]:
route Mo Tu We Th Fr Sa Su
3 121 1 1 1 1 1 0 0
如果我对问题的理解正确,您只需对每组中的值求和,每组取一行,
route_id
只留下周六和周日的值之和为零的行。此外,在决定中根本不能考虑一周中的工作日。样本数据:
解决方案:
结果:
PS我请您注意并考虑到未来,为了给出可重现的数据示例,一个小的“合成”示例通常就足够了。