pandas 筛选条件

《pandas 筛选条件》

pandas 筛选条件

pandas的DataFrame提供了非常多的运算,可以帮助我们实现各种想要的操作。在一个DataFrame中,如果想要筛选一部分符合特定条件的内容,就需要自己写筛选条件。对于常用的条件,做了下简单总结:

  1. 同时符合多个条件,条件
    • 多个条件同时满足,需要使用 & 符号,并且 & 两边的表达式要用括号括起来。
  2. 条件
    • 或条件是用一个竖线 |
  3. 条件取反
    • 在需要取反的表达是前面加这个符号 ~
  4. in 条件
    • 有时候我们也需要在DataFrame 中按照范围查找,就像在sql 中in (x,x,x,x) 一样的写法。
    • gaode_df[gaode_df['user_id'].isin(subs)]
  5. not in 条件
    • not in 的操作和 in 的非常类似,只不过在最前面增加一个 - 即可
    • gaode_df[-gaode_df['user_id'].isin(subs)]

综合示例

下面是一个实践的例子

def feature_evaluate(df, feature_name, feature_range):
    range_start, range_end = feature_range
    cond = (df[feature_name] >= range_start) & (df[feature_name] < range_end)
    in_range_df = df[cond]
    out_range_df = df[~(cond)]  # 这里对条件作了一个精妙的处理 :)
    return total_good_cnt, total_bad_cnt
点赞