python使用numpy.where的多个条件

时间:2018-07-14 04:55:36

标签: python pandas

我正在尝试对熊猫数据框进行一些简单的操作。我已将pda导入为pd,将np导入为numpy,并导入了一个csv来创建一个名为“ dfe”的数据框。

我已经成功使用以下代码根据一种条件填充了新列:

dfe['period'] = np.where(dfe['Time'] >= "07:30:00.000" , '1', '2')

但是当我尝试使用类似的技术基于两个条件填充同一列时,会出现错误(&不支持的操作数类型:'bool'和'str')

这是我尝试的多条件版本:

dfe['period'] = np.where(dfe['Time'] >= "07:30:00.000" & dfe['Time'] <= "10:00:00.000" , '1', '2')

我已经看过很多解决类似问题的方法,但是鉴于我刚刚开始并且希望有人能给我一些有关为什么它不起作用的提示,对于我来说,它们都有点太复杂了。< / p>

谢谢

1 个答案:

答案 0 :(得分:6)

您很亲密,{ "accessToken": "XXXXXX", "expiresIn": 86399 }失踪是因为操作员的优先级:

()

使用between的另一种解决方案:

dfe['period'] = np.where((dfe['Time'] >= "07:30:00.000") & 
                         (dfe['Time'] <= "10:00:00.000") , '1', '2')