![](/img/trans.png)
[英]Create new columns in pandas df by grouping and performing operations on an existing column
[英]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.