为了账号安全,请及时绑定邮箱和手机立即绑定

根据 pandas 中的条件创建布尔列

根据 pandas 中的条件创建布尔列

qq_笑_17 2022-08-02 16:07:39
我有一个数据框,如下所示ID    DURATION   STATUS   CONSIDER1     30         ACTIVE   True2     780        CLOSED   True3     745        ACTIVE   False4     366        ACTIVE   False5     367        ACTIVE   True我想ESTIMATION_FLAG创建一个新列,当持续时间<700并且状态==活动并考虑==真时,它是真的。预期输出:ID    DURATION   STATUS   CONSIDER  ESTIMATION_FLAG1     30         ACTIVE   True      True2     780        CLOSED   True      False3     745        ACTIVE   False     False4     366        ACTIVE   False     False5     367        ACTIVE   True      True
查看完整描述

2 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

使用 Series.lt 和Series.eq用于掩码,链由用于按位,优点是较少:&AND()


df['ESTIMATION_FLAG'] = df['DURATION'].lt(700) & df['STATUS'].eq('ACTIVE') & df['CONSIDER']

print (df)

   ID  DURATION  STATUS  CONSIDER  ESTIMATION_FLAG

0   1        30  ACTIVE      True             True

1   2       780  CLOSED      True            False

2   3       745  ACTIVE     False            False

3   4       366  ACTIVE     False            False

4   5       367  ACTIVE      True             True


查看完整回答
反对 回复 2022-08-02
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

df["ESTIMATION_FLAG"] = (df["DURATION"] < 700) & (df["STATUS"]=="ACTIVE") & (df["CONSIDER"]==True)



查看完整回答
反对 回复 2022-08-02
  • 2 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号