You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按ID分组为Pandas DataFrame添加满足薪资条件的二进制列

问题

现有如下Pandas DataFrame:

#Load the required libraries
import pandas as pd

#Create dataset
data = {'id': [1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1,
               2, 2,2,2,2,
               3, 3, 3, 3, 3, 3,
               4, 4,4,4,4,4,4,4,
               5, 5, 5, 5, 5,5, 5, 5,5,],
        'cycle': [1,2, 3, 4, 5,6,7,8,9,10,11,
                  1,2, 3,4,5,
                  1,2, 3, 4, 5,6,
                  1,2,3,4,5,6,7,8,
                  1,2, 3, 4, 5,6,7,8,9,],
        'Salary': [5, 6, 7,8,9,6,4,12,5,14,15,
                   4, 5,6,7,8,
                   5,8,4,7,12,1,
                   8,1,2,7,4,5,8,1,
                   1, 4,9,10,11,7,13,4,15,],
        'Children': ['No', 'Yes', 'Yes', 'Yes', 'Yes', 'No','No', 'Yes', 'Yes', 'Yes', 'No',
                     'Yes', 'No', 'Yes', 'No', 'Yes',
                     'No','Yes', 'Yes', 'No','No', 'Yes',
                     'Yes','Yes', 'Yes', 'No','No', 'Yes', 'Yes', 'Yes',
                      'No',  'Yes', 'No', 'No', 'Yes', 'Yes', 'Yes', 'Yes', 'No',],
        'Days': [123, 128, 66, 66, 120, 141, 52,96, 120, 141, 52,
                 96, 120,128, 66, 120,
                 15,123, 128, 66, 120, 141,
                 141,128, 66, 123, 128, 66, 120,141, 
                 123, 128, 66, 123, 128, 66, 120, 141, 52,],
        }

#Convert to dataframe
df = pd.DataFrame(data)
print("df = \n", df)

需要按id分组添加一个二进制列,规则为:分组内Salary>=7时列值为1,否则为0。例如id=1的Salary列是[5,6,7,8,9,6,4,12,5,14,15],对应的二进制列应为[0,0,1,1,0,0,0,1,0,1,1]。请问如何用Python实现该需求?


解决方案

可以直接通过布尔条件判断加类型转换实现,操作简单高效:

# 新增二进制列,按规则赋值
df['binary_col'] = (df['Salary'] >= 7).astype(int)

# 查看id=1的结果验证
print("id=1的结果:")
print(df[df['id'] == 1][['Salary', 'binary_col']])

说明

  • df['Salary'] >= 7 会生成一个布尔值Series,每个元素根据Salary是否满足条件返回True或False
  • .astype(int) 将布尔值转换为整数:True对应1,False对应0
  • 该操作会自动针对每个id分组内的元素逐一判断,完全符合需求

注:你提供的id=1示例中,Salary=9对应的二进制值为0,这与规则描述的Salary>=7时为1不符,推测是示例笔误。按规则执行后,Salary=9对应的二进制值应为1。


内容的提问来源于stack exchange,提问作者NN_Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 10:19:52