我正在尝试从数据框中过滤某些值,但输出中的某些情况似乎未遵循过滤规则。 逻辑上可能有问题吗? 我想获得其中任一列都满足条件的条目(这就是为什么我使用|而不是&的原因。)
我已经尝试过将列转换为整数。
datos[
((datos['edad'] >=21) & (datos['edad']<=68)) |
((datos['EdadCurp']) >= 21 & (datos['EdadCurp']<=68)) |
((datos['edadrfc']) >= 21 & (datos['edadrfc']<=68))
][["edad", "EdadCurp", "edadrfc"]].head(100)
例如,条目#3不满足任何条件,但仍然是输出的一部分。
答案 0 :(得分:2)
我认为您的过滤器中有错字。尝试:
datos[
((datos['edad'] >=21) & (datos['edad']<=68)) |
((datos['EdadCurp'] >= 21) & (datos['EdadCurp']<=68)) |
((datos['edadrfc'] >= 21) & (datos['edadrfc']<=68))
][["edad", "EdadCurp", "edadrfc"]].head(100)
请注意,您使用的是(datos['EdadCurp']) >= 21 & ...
而不是(datos['EdadCurp'] >= 21) & ...
。与edadrfc
相同。