我有一个类似于下面的数据框,如果对于每个项目,扇区“a”至少被覆盖一次,我想创建一个包含 true/false 的新变量。我正在尝试使用 group.by() 函数,并想使用 .transform() 方法,但由于我的数据是文本,我不知道如何使用它。
      project    sector  
    
        01         a    
        01         b    
        02         b     
        02         b     
        03         a     
        03         a     
    
 project    sector   new_col
    01         a     true
    01         b     true
    02         b     false
    02         b     false
    03         a     true
    03         a     true
       
您可以尝试以下操作:
df['new_col'] = df.groupby('project')['sector'].transform(lambda x: (x == 'a').any() )
这将按项目分组并检查组中是否有“a”
| 归档时间: | 
 | 
| 查看次数: | 3082 次 | 
| 最近记录: |