当前位置: 首页 > 知识库问答 >
问题:

将单个列筛选为两个唯一值[重复]

韩飞翮
2023-03-14

我使用了. loc将我的数据帧过滤为两列“Worker”和“Time Type”。

示例数据集

df = pd.DataFrame({'Worker': ['Sam','Ben','Tom'], 'Time Type':['Full Time', 'Part Time', 'paert Tme']})
df

Worker  Time Type
0   Sam Full Time
1   Ben Part Time
2   Tom paert Tme

我现在只想看到那些“兼职”或“全职”的输出。

到目前为止,我构建的代码是:

df2 = df.loc[:, ['Worker', 'Time Type']]
df2[(df2['Time Type'] == 'Part time' | 'Full time')]

但是我得到了错误TypeError:|:'str'和'str'不支持的操作数类型

有人知道一个简单的方法来解决这个问题吗?

理想情况下,我想以两件事结束:

>

  • 显示全职和兼职员工的输出。

    另一个显示此参数以外异常的输出,即第2行中的“Tom”显示“paert Tme”,这是一个异常,值得作为单独的输出查看。

    任何关于最佳实践或方法的提示都会非常有帮助,谢谢各位

  • 共有1个答案

    邓德厚
    2023-03-14

    使用<代码>。isin()函数,更易于阅读

    <代码>df[df['时间类型']。isin([“全职”、“兼职”)]

     类似资料:
    • 我正在尝试根据两个行值筛选出行。我看到的大多数问题的解决方法都采用以下方法: 可能我在这里弄得很混乱,这很简单。无论如何,任何帮助都将不胜感激! 问候

    • 问题内容: 我有两个如图所示- 和。我正在对它们进行比较,并从两者中找到唯一值和重复值,如下代码所示: 我得到的是正确的,但是我没有得到唯一的值。 问题答案: 您将忽略条件,而是询问一个 列表 是否包含另一个 列表 。 您可以这样做: 不过,我不会真正称这些“独特”或“重复”的物品-这些物品通常是关于 一个收藏 夹中的物品的。这只是测试一个列表中的每个项目是否在另一个列表中。我会说,在这种情况下,

    • 我正在使用如下所示的示例表。数据集有多个组,每次对表进行写入时,数据集的RunNumber以及每个组的数据和总数都会递增。每个数据集/组组合通常都有多行,示例如下: 对于数据集和组的每个组合,我要做的是返回给定数据集/组组合中具有最大值(RunNumber)的行的所有数据。例如,上面的示例将返回: 在数据集/组匹配的地方,所有行都保留该给定组合的最大运行数。现在,我已经将其分为两个单独的查询,其中

    • 我有两个如图所示-和。我正在比较这两个值,并从中找到唯一的和重复的值,如下代码所示: 我正在正确获取,但没有获取唯一值。

    • 问题内容: 在Java中将列表拆分为两个子列表的最简单,最标准和/或最有效的方法是什么?可以更改原始列表,因此无需复制。方法签名可以是 [EDIT] 返回原始列表上的视图,如果修改了原始视图,该视图将无效。因此,除非它也放弃了原始参考文献,否则无法使用(或者,如Marc Novakowski的回答所述,使用但立即复制结果)。 问题答案: 快速半伪代码: 它使用标准的List实现方法,并避免了所有循

    • 问题内容: 我有一个表字段,其中包含用户的姓氏和名字。是否有可能分裂成那些2场,? 所有记录的格式均为“名字的姓氏”(不带引号,中间还有空格)。 问题答案: 不幸的是,MySQL没有分割字符串功能。但是,您可以为此创建一个用户定义的函数,例如以下文章中描述的函数: Federico Cargnelutti撰写的MySQL Split String Function 使用该功能: 您将可以按照以下方