根据第三列中的条件获取两个不同列的值

时间:2020-03-24 04:39:34

标签: python pandas dataframe

我有一个特定条件(Incident = yes),我想知道满足此条件的两列中的值。我有一个非常大的数据框(许多行和许多列),并且正在寻找“筛选”功能。

使用df(其列比所示的多得多)来说明以下示例:

Repetition  Step    Incident   Test1   Test2
1            1         no         10     20
1            1         no         9      11
1            2         yes        9      19
1            2         yes        11     20
1            2         yes        12     22
1            3         yes        9      18
1            3         yes        8      18

我想得到的答案是

Repetition   Step
1              2
1              3

如果我只想知道该步骤,则可以使用以下命令:

df[df.Incident == 'yes'].Step.unique()

是否有类似的命令来获取特定条件下两列的值?

感谢您的帮助! :-)

1 个答案:

答案 0 :(得分:1)

您可以使用query选项作为条件,选择感兴趣的列,最后删除重复的值

notifyListeners();

OR

您可以使用Pandas的loc方法,将行设置为条件,将列部分设置为您感兴趣的列,然后删除重复项。

 df.query('Incident=="yes"').filter(['Repetition','Step']).drop_duplicates()