使用numpy.where的Python多个条件
我正在尝试对熊猫数据帧进行一些简单的操作。我已经将pandas导入为pd,numpy导入为np,并导入了一个csv来创建一个名为“dfe”的数据帧 我已成功使用以下代码基于一个条件填充新列:使用numpy.where的Python多个条件,python,pandas,Python,Pandas,我正在尝试对熊猫数据帧进行一些简单的操作。我已经将pandas导入为pd,numpy导入为np,并导入了一个csv来创建一个名为“dfe”的数据帧 我已成功使用以下代码基于一个条件填充新列: dfe['period'] = np.where(dfe['Time'] >= "07:30:00.000" , '1', '2') 但是,当我尝试使用类似的技术基于两个条件填充同一列时,我得到了一个错误(不支持&:'bool'和'str'的操作数类型) 以下是我对多条件版本的尝试: dfe['pe
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')
dfe['period']=np。其中(dfe['Time']>=“07:30:00.000”&dfe['Time']您已关闭,()
丢失,因为运算符的优先级:
dfe['period'] = np.where((dfe['Time'] >= "07:30:00.000") &
(dfe['Time'] <= "10:00:00.000") , '1', '2')
谢谢。中间版本真的很整洁
dfe['period'] = np.where(dfe['Time'].between("07:30:00.000", "10:00:00.000") , '1', '2')