如何基于多列条件提取行数据?现有代码逻辑错误求助
修正多条件行筛选的Pandas代码
嘿,我懂你的问题啦!你现在的代码用了|(逻辑或运算符),这会把满足任意一个条件的行都筛选出来,但你需要的是同时满足所有条件的行,这时候得换成&(逻辑与运算符),还要注意括号的正确使用哦。
修正后的代码
Xx = data[(data['C03'] == 1) & (data['I10.I15'] == 1) & (data['C10'] == 1) & (data['D80.D89'] == 0)]
关键说明
- 用
&替代|:&表示“并且”,只有当所有四个条件都成立时,对应的行才会被选中,正好符合你要的子组需求。 - 每个条件单独加括号:因为在Pandas中,比较运算符(比如
==)的优先级比逻辑运算符高,不加括号会导致运算顺序出错,筛选结果不符合预期。
这样修改后,就能得到你想要的约267条同时满足所有条件的记录啦。
内容的提问来源于stack exchange,提问作者Luisa Ka
相关产品推荐
相关产品推荐

