Python 基于行引用选择数据框结果
给定以下数据帧,如何仅检索被测试的值,其中包含True和False值Python 基于行引用选择数据框结果,python,pandas,dataframe,Python,Pandas,Dataframe,给定以下数据帧,如何仅检索被测试的值,其中包含True和False值 d = pd.DataFrame({"ID":[700,700,701,702,702,703],"IS_TESTED":[True,False,True,False,True,True],"TEST_NAME":["A","B","A","A","B","A"]}) 在下面的示例中,我期望的结果应该是: 700 True A 700 False B 702 False A 702 True B 因为701和7
d = pd.DataFrame({"ID":[700,700,701,702,702,703],"IS_TESTED":[True,False,True,False,True,True],"TEST_NAME":["A","B","A","A","B","A"]})
在下面的示例中,我期望的结果应该是:
700 True A
700 False B
702 False A
702 True B
因为701和703只发生一次
使用groupby和nunique
d[d.groupby('ID').IS_TESTED.transform('nunique') > 1]
ID. IS_TESTED TEST_NAME
0 700 True A
1 700 False B
3 702 False A
4 702 True B
或者,您可以将
groupby
与过滤器一起使用:
d.groupby('ID').filter(lambda x: x.IS_TESTED.nunique() > 1)
输出:
ID IS_TESTED TEST_NAME
0 700 True A
1 700 False B
3 702 False A
4 702 True B