繁体   English   中英

在现有列上创建带有条件操作的新列

[英]Create new column with conditional operations on existing columns

我正在提取特定范围内的数据,并提出了新列,当列中的值落入该范围时,新列表示1,否则则为0。

我尝试使用布尔条件,但没有运气。

data["normal"]=np.where((data["sysBP"]<80) & (data["diaBP"]<120),1,0)

data["prehyper"]=np.where(((data["sysBP"]<90) & (data["sysBP"]>=80)) & 
                          ((data["diaBP"]<140) & (data["diaBP"]>=120)),1,0)

我希望新列显示该范围内的数据为1,否则显示0。 我在上面的代码中得到了全0的列。

您可以使用astype(int)将True转换为1,将False转换为0:

data["normal"] = ((data["sysBP"]<80) & (data["diaBP"]<120)).astype(int)

data["prehyper"] = ((data["sysBP"]<90) & (data["sysBP"]>=80) & (data["diaBP"]<140) & (data["diaBP"]>=120)).astype(int)

暂无
暂无

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

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