Python 在现有列上使用条件操作创建新列

Python 在现有列上使用条件操作创建新列,python,pandas,numpy,Python,Pandas,Numpy,我正在提取特定范围内的数据,并生成新列,当列中的值在该范围内时表示1,当不在该范围内时表示0 我尝试使用布尔条件,但运气不佳 data[“normal”]=np。其中((data[“sysBP”]您可以使用astype(int)将True转换为1,将False转换为0: data["normal"] = ((data["sysBP"]<80) & (data["diaBP"]<120)).astype(int) data["prehyper"] = ((data["sysB

我正在提取特定范围内的数据,并生成新列,当列中的值在该范围内时表示1,当不在该范围内时表示0

我尝试使用布尔条件,但运气不佳

data[“normal”]=np。其中((data[“sysBP”]您可以使用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)

data[“normal”]=((data[“sysBP”]在运行这行代码之前,我将浮点型列转换为int。我也尝试了your的建议,但它仍然给出一个全0列。@Kurapatiteju在
(data[“sysBP”]中是否有拼写错误(应该读>80)。(不,没有。我粘贴了您注释的代码行,并给出了此错误-“'tuple'对象没有属性'astype'”。我需要和作为statements@Kurapatiteju“tuple”?
((data[“sysBP”]@Kurapatiteju)非常确定这应该是
((data[“sysBP”]>80)和(data[“diaBP”]80,而不是