我在Dataframe中有一列名为STATUS,其中包含“AMEND ORDER”或为空的值。 我需要根据该列创建一个FLAG,如果它的值包含AMEND单词,则设置FLAG 1,否则设置为0。 我尝试使用下面的代码,但它出现错误。
t[t['STATUS'].str.contains('AMEND')]
如果空值或None
缺失值,可以通过使用按位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
3 修改订单 1.0
4 ".............." 0.0