pandas条件组合筛选和按范围筛选的示例代码
本文详解pandas中利用isin函数进行范围筛选的正确用法,避免使用in导致的逻辑错误。通过WTGS_CODE与FAULT_CODE的组合示例,演示多条件筛选时括号使用的必要性,提供完整代码片段供参考。
pandas范围筛选与isin用法
首先,从数据记录中筛选出fault_code列的值位于fault_list = [487, 479, 500, 505]指定范围内的所有记录。
record2=record[record['FAULT_CODE'].isin(fault_list)]

在实现该筛选时,必须使用.isin方法而非in运算符。若错误地使用in,筛选结果将返回布尔型的True和False序列,进而引发报错。
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any()
单条件与多条件组合筛选示例
其次,筛选出所有WTGS_CODE等于20004013的记录。
set=20004013
record= record[record['WTGS_CODE'] == set]

接着,从数据记录中筛选出同时满足特定集合条件且fault_code列的值处于fault_list = [487, 479, 500, 505]范围内的记录。
record_this_month=record[(record['WTGS_CODE']==set)&(record['FAULT_CODE'].isin(fault_list))]

在进行多个条件组合筛选时,每个独立的筛选条件都必须用括号包裹。
当需要判断值是否属于某个特定范围并进行筛选时,必须使用DataFrame.isin()方法,严禁使用in运算符。
以上即为本文的全部内容,希望对读者的学习有所助益,也欢迎大家继续支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









