Python 根据第三列中的条件获取两个不同列的值
我有一个特定的条件(Python 根据第三列中的条件获取两个不同列的值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个特定的条件(Incident=yes),我想知道满足此条件的两列中的值。我有一个非常大的数据框架(许多行和许多列),我正在寻找一个“屏蔽”功能 使用df(其列比所示的多)来说明以下示例: 我想得到的答案是 Repetition Step 1 2 1 3 如果我只想知道步骤,我会使用以下命令: df[df.Incident == 'yes'].Step.unique() 是否有类似的命令来获取特定条件下两列的值 谢谢你的帮助!:-
Incident=yes
),我想知道满足此条件的两列中的值。我有一个非常大的数据框架(许多行和许多列),我正在寻找一个“屏蔽”功能
使用df
(其列比所示的多)来说明以下示例:
我想得到的答案是
Repetition Step
1 2
1 3
如果我只想知道步骤,我会使用以下命令:
df[df.Incident == 'yes'].Step.unique()
是否有类似的命令来获取特定条件下两列的值
谢谢你的帮助!:-) 您可以使用条件选项,选择感兴趣的列,最后删除重复的值
df.query('Incident=="yes"').filter(['Repetition','Step']).drop_duplicates()
或
您可以使用Pandas的方法,将行设置为条件,将列部分设置为您感兴趣的列,然后删除重复项
df.loc[df.Incident=="yes",['Repetition','Step']].drop_duplicates()
df[df.Incident=='yes'][[['repeation','Step']].[drop_duplicates()
-无需loc
@nishant即可实现,避免链接索引。看一看熊猫博士:我认为这与这里的问题无关,因为没有任务发生。使用上述评论也获得了相同的结果。
df.loc[df.Incident=="yes",['Repetition','Step']].drop_duplicates()