Python 数据帧-用布尔掩码替换值
我有一个数据框,其中有一列名为“Temperature”Python 数据帧-用布尔掩码替换值,python,pandas,dataframe,boolean,data-manipulation,Python,Pandas,Dataframe,Boolean,Data Manipulation,我有一个数据框,其中有一列名为“Temperature” data = {'Day': [1,2,3,4], 'Temperature': [20,30,40,50] } 现在,我不需要温度数字,而是将“1”分配给温度在25到45范围内的单元格。如果不是,我将为其指定0 我想要的数据帧是 data = {'Day': [1,2,3,4], 'Temperature': [0,1,1,0] } 我有一个布尔掩码,如下所
data = {'Day': [1,2,3,4],
'Temperature': [20,30,40,50]
}
现在,我不需要温度数字,而是将“1”分配给温度在25到45范围内的单元格。如果不是,我将为其指定0
我想要的数据帧是
data = {'Day': [1,2,3,4],
'Temperature': [0,1,1,0]
}
我有一个布尔掩码,如下所示:
df[(df['Temperature']<=45) & (df['Temperature']>=25)]
df[(df[‘温度’]=25)]
如何使用布尔掩码来实现这一点?或者,最好的方法是什么
谢谢。想法是通过转换为整数将布尔掩码转换为
0,1
:
df = pd.DataFrame(data)
df['Temperature'] = ((df['Temperature']<=45) & (df['Temperature']>=25)).astype(int)
df['Temperature'] = np.where(df['Temperature']<=45) & (df['Temperature']>=25), 1, 0)
data={'Day':[1,2,3,4],
“温度”:[20,30,40,50]
}
df=pd.DataFrame(数据)
df[(df[‘温度’]=25)]=1
df[(df[‘温度’]>=45)和(df[‘温度’]>=25)]=0
df['Temperature'] = df['Temperature'].between(25, 45).astype(int)
df['Temperature'] = np.where(df['Temperature'].between(25, 45), 1, 0)
data = {'Day': [1,2,3,4],
'Temperature': [20,30,40,50]
}
df = pd.DataFrame(data)
df[(df['Temperature']<=45) & (df['Temperature']>=25)] = 1
df[(df['Temperature']>=45) & (df['Temperature']>=25)] = 0