2024-07-05 14:15:20 发布
网友
我试着把数字分类到“箱子”里,所以如果一个箱子里所有的数字都在0到20之间,那么19个就属于这个箱子。在
我试图在不使用一堆if-then状态的情况下这样做:
if x < 0.5: return "bin1" elif x < 0.8: return "bin2" ...
Numpy有一个numpy.linspace方法,该方法生成具有等间距存储单元的numpy数组。但是,如果不获取数组的结果并将它们放入“if”语句中,我仍然不知道如何有效地进行bin分类。谢谢。在
import bisect bins = range(0, 100, 15) print bisect.bisect_left(bins, 35)
您可以使用numpy.searchsorted:
numpy.searchsorted
>>> import numpy as np >>> bins = np.array([0, 10, 100, 1000]) >>> numbers = np.array([800, 8, 80]) >>> print bins.searchsorted(numbers) [3, 1, 2]
您可以使用
numpy.searchsorted
:相关问题 更多 >
编程相关推荐