python - Pandas 不具备过滤条件

标签 python pandas dataframe

我如何实现非条件过滤

grouped = store_ids_with_visits.groupby(level=[0, 1, 2])
grouped.filter(lambda x: (len(x) == 1 and x['template_fk'] == exterior_template))

我想获取所有不满足条件的条目

我试过:

grouped.filter(lambda x: ~(len(x) == 1 and x['template_fk'] == exterior_template))

但出现以下错误:

filter function returned a int, but expected a scalar bool

最佳答案

IIUC,你可以使用isin检查 bool 条件并仅采用分组数据帧的 NOT(~) 值:

 df[~df.isin(grouped.filter(lambda x: (len(x) == 1 and x['template_fk'] == exterior_template)))]

关于python - Pandas 不具备过滤条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38681802/

相关文章:

python - 在已知坐标的图像上应用轻微透明的蒙版

python - 正则表达式匹配两个词后的所有内容

python-3.x - 如何根据条件对 pandas 数据框的行值进行排序?

python - pandas drop_duplicates 并保留最接近引用时间的值

python - 将数据帧的所有行转换为数组并传递给函数

python - pandas - 使用子集 groupby 的派生计算部分更新 DataFrame

python - 与MongoDB结合使用Dataclass中的 '_id'应该如何处理?

python - Geopy异常处理

python - Pandas - 从索引中提取月份和年份

python - 如何将 JSON 文件读入 Dataframe?