Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 3.x 如何在多列中按一列和三个条件分组_Python 3.x_String_Dataframe_Pandas Groupby - Fatal编程技术网

Python 3.x 如何在多列中按一列和三个条件分组

Python 3.x 如何在多列中按一列和三个条件分组,python-3.x,string,dataframe,pandas-groupby,Python 3.x,String,Dataframe,Pandas Groupby,我有dataframe,在这里我需要应用以下条件 检查是否大于0 如果是,则在colB中搜索字符串“recycled”,并比较它在colC中是否存在 如果它满足,它是真的,否则是假的 数据帧: Temp colA colB colC ob1 50 HDP HDP ob1 50 HDP recycled HDP ob1

我有dataframe,在这里我需要应用以下条件

  • 检查是否大于0
  • 如果是,则在colB中搜索字符串“recycled”,并比较它在colC中是否存在
  • 如果它满足,它是真的,否则是假的
  • 数据帧:

         Temp       colA     colB             colC
    
         ob1        50       HDP              HDP
         ob1        50       HDP recycled     HDP
         ob1        50       HDP              HDP
         ob2        0        PE               PE
         ob2        0        PE               PE
         ob3        30       PE recycled      PE recycled
         ob3        30       PE               PE recycled
    
    输出:

         Temp       colA     colB             colC           output
         ob1        50       HDP recycled     HDP            Anomaly
         ob2        0        PE               PE             Pass
         ob3        30       PE recycled      PE recycled    Pass
    
    我试过的代码:

         f=pp.groupby('Temp')['colB'].apply(lambda x: 
         x.str.contains('Recycled').any()).map({True:'Pass',False:'anomaly'})
    

    尝试使用秩函数

    data['Rank'] = data.groupby('Temp')['output'].rank(method='dense',ascending=True)
    data['Final'] = data.groupby('Temp')['Rank'].rank(method='first',ascending=True)