【发布时间】:2017-12-11 17:47:12
【问题描述】:
给定一个 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。
【问题讨论】:
标签: python arrays pandas numpy