给定一个numpy数组,我想根据不等式替换它的值。例如,给定根据不等式替换numpy数组中的值
x=np.array([0.3,7,8,-5.5,1,0.1])
我希望替换是小于0 0,那些0和5之间将由1被替换的值,其余的将被替换为2。因此,我希望得到:
x=np.array([1,2,2,0,1,1])
我能做到这一点与pandas.cut
如下:
pandas.cut(pandas.DataFrame(x).iloc[:,0],[-np.inf,0,5,np.inf],labels=[0,1,2],right=False)
,但我不知道是否有一种更直接的方式来做到这一点使用numpy的本身。请注意,我可以有3个以上的类别,这就是为什么我要找更系统的行为,其行为与pandas.cut
类似。
伟大的解决方案,谢谢! –