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

时间:2014-12-02 00:04:55

标签: python pandas

我有一个pandas数据框,其中有一列表示某一特定操作的执行时间。所以df [' hour']是很多行,每行的值从0到23。

我正在尝试为' is_morning'之类的东西创建虚拟变量,例如: 如果df [' hour']> = 5且< 12然后返回1,否则返回0

考虑到数据集的大小,for循环不起作用,我尝试了其他一些东西,比如 df [' is_morning'] = df [' hour']> = 5< 12

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

你可以这样做:

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

即。将每个条件包装在括号中,并使用&,这是一个适用于整个向量/列的and操作。