Python-为多个条件创建虚拟变量

Python-为多个条件创建虚拟变量,python,pandas,Python,Pandas,我有一个pandas数据框,其中有一列指示一天中执行特定操作的时间。因此df['hour']是许多行,每个行的值从0到23 我试图为“is_morning”之类的内容创建虚拟变量,例如: 如果df['hour']>=5且小于12,则返回1,否则返回0 考虑到数据集的大小,for循环不起作用,我也尝试过其他方法,比如 df['is_morning']=df['hour']>=5和=5)和(df['hour']

我有一个pandas数据框,其中有一列指示一天中执行特定操作的时间。因此df['hour']是许多行,每个行的值从0到23

我试图为“is_morning”之类的内容创建虚拟变量,例如: 如果df['hour']>=5且小于12,则返回1,否则返回0

考虑到数据集的大小,for循环不起作用,我也尝试过其他方法,比如 df['is_morning']=df['hour']>=5和<12

有什么建议吗???

你可以:

df['is_morning'] = (df['hour'] >= 5) & (df['hour'] < 12)
df['is_morning']=(df['hour']>=5)和(df['hour']<12)

i、 e.将每个条件用括号括起来,然后使用
&
,这是一个
操作,可在整个向量/列中运行。

哇,超级简单,谢谢马吕斯。我想我已经试过了,但我想我在某个地方搞砸了。有没有一种干净的方法来获取整数(0,1)并确保当
df.hour
是NaN时,那么
df.u morning
也是NaN?