繁体   English   中英

基于 Pandas 中的另一列创建新列

[英]Create new column on basis of another column in Pandas

我在 Dataframe 中有一个名为 STATUS 的列,其中包含值“AMEND ORDER”或为空。 我需要在该列的基础上创建一个 FLAG,如果它的值在值中包含AMEND字,则设置 FLAG 1 或 0。我正在尝试使用下面的代码,但它出错了。

t[t['STATUS'].str.contains('AMEND')] 

如果空是缺失值或None s 通过|链接另一个掩码对于按位OR并强制转换为整数以用于True -> 1, False - > 0映射:

t['FLAG'] = (t['STATUS'].str.contains('AMEND') | t['STATUS'].isna()).astype(int)

如果空为空字符串,则通过Series.eq比较值:

t['FLAG'] = (t['STATUS'].str.contains('AMEND') | t['STATUS'].eq('')).astype(int)

这可能是一种方法

mydat.loc[mydat['Status']=="",'flag']=0
mydat.loc[mydat['Status']=="AMEND ORDER",'flag']=1

状态标志

0 修改订单 1.0

1 修改订单 1.0

  1. “…………” 0.0

3 修改订单 1.0

4“…………”0.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM