我有一个数据框:
count DATE state District Gender
0 1604.0 2020-03-11 AN Nicobar None
1 13.0 2020-03-11 UP Noida Male
2 4.0 2020-03-11 KA Banglore Female
3 6.0 2020-03-11 PB Chandigarh None
4 20.0 2020-03-11 MP Indore Female
我必须同时基于DATE,州,地区和性别应用不同的过滤器。
日期将根据开始和结束日期条件过滤掉。
默认情况下,如果选择了任何特定的“状态”,则将显示所有“状态”,然后状态过滤器将与日期过滤器组合。
默认情况下,如果选择了任何特定的“ District”,则将显示所有“ District”,然后“区域”过滤器将与上述过滤器组合。
默认情况下,如果选择了任何特定的“性别”,则会显示所有“性别”,然后性别过滤器将与上述过滤器组合。
如何将上述过滤器组合到pandas数据框中(一步查询并同时工作)?我目前使用if-else子句。有人可以建议我采取更好的方法吗?
答案 0 :(得分:0)
如果要基于数据列的某些列值选择它们,则可以创建布尔掩码。例如:
mask = (df.A == 1) & (df.B > 3)
df[mask]
这只会选择DataFrame中A == 1且B> 3的行。