首页 > 解决方案 > 过滤 Pandas DataFrame 时出现语法错误

问题描述

我有以下数据框badges,我想从中创建一个子集badges_gold。子集的条件是UserId出现badges在列表中gold_users。但是当我使用is in操作时,我得到了invalid syntax错误。如何解决这个问题?

主数据框 - 徽章

UserId | Name
  1    | Altruist
  2    | Autobiographer
  3    | Enlightened
  4    | Citizen Patrol
  5    | python

金徽章用户列表 - gold_users

gold_users = [1,2,3]

代码

badges_gold = badges[badges.UserId is in gold_users]

预期输出 - badges_gold

UserId | Name
  1    | Altruist
  2    | Autobiographer
  3    | Enlightened

错误

SyntaxError: invalid syntax

标签: pythonpandaslistdataframe

解决方案


您需要进行以下更改,它将为您完成工作。

badges[badges.UserId.isin(gold_users)]

推荐阅读