Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据第三列中的条件获取两个不同列的值_Python_Pandas_Dataframe - Fatal编程技术网

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()