通过条件

时间:2017-04-05 16:59:35

标签: python csv pandas indexing

我已经彻底搜索了几个小时以获得答案,但遗憾的是我还没找到任何东西。

我有一个类似于图片的csv文件 enter image description here

我想要做的是,例如,创建一个每列为0的新列,除非月份== 1 天> 11。我做了类似的事情,当小时> 8小时< 20时,我创建了一个所有行= 0的新列,其余的是:

dataTest['day_or_night'] = 0

dataTest['day_or_night'][dataTest['hour'] < 8] = 1

dataTest['day_or_night'][dataTest['hour'] > 20] = 1

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

试试这个:

df['new'] = np.where((df.month==1) & (df.day>11), 1 0)

答案 1 :(得分:2)

转换1条件的布尔表达式并将其转换为int

dataTest['day_or_night'] = (
    dataTest.day.gt(11) & dataTest.month.eq(1)
).astype(np.uint8)