我有一个pandas数据框,其中有一列表示某一特定操作的执行时间。所以df [' hour']是很多行,每行的值从0到23。
我正在尝试为' is_morning'之类的东西创建虚拟变量,例如: 如果df [' hour']> = 5且< 12然后返回1,否则返回0
考虑到数据集的大小,for循环不起作用,我尝试了其他一些东西,比如 df [' is_morning'] = df [' hour']> = 5< 12
有什么建议吗?
答案 0 :(得分:4)
你可以这样做:
df['is_morning'] = (df['hour'] >= 5) & (df['hour'] < 12)
即。将每个条件包装在括号中,并使用&
,这是一个适用于整个向量/列的and
操作。