我正在使用numpy.linespace来帮助生成数据箱。 我希望20个箱子介于0到1,000,000之间,每个箱子大小为20k。
numpy.linespace给出了不均匀的bin大小。
bins = np.linspace(start = 0, stop =1000000, num = 50, dtype = 'int64')
这给出了如下(前5个箱子)的箱子
2.040800000000000000e+04
,4.081600000000000000e+04
,6.122400000000000000e+04
,8.163200000000000000e+04
,1.020400000000000000e+05
任何想法如何获得偶数箱20000,40000,60000,80000,1000000
感谢您提供任何帮助和建议
答案 0 :(得分:1)
只需在数量o样本
中添加一个>>> bins = np.linspace(start = 0, stop = 1000000, num = 51, dtype = 'int64')
>>> bins
array([ 0, 20000, 40000, 60000, 80000, 100000, 120000,
140000, 160000, 180000, 200000, 220000, 240000, 260000,
280000, 300000, 320000, 340000, 360000, 380000, 400000,
420000, 440000, 460000, 480000, 500000, 520000, 540000,
560000, 580000, 600000, 620000, 640000, 660000, 680000,
700000, 720000, 740000, 760000, 780000, 800000, 820000,
840000, 860000, 880000, 900000, 920000, 940000, 960000,
980000, 1000000])
答案 1 :(得分:0)
使用arange
代替linspace
:
In [456]: np.arange(0,1000001,20000)
Out[456]:
array([ 0, 20000, 40000, 60000, 80000, 100000, 120000,
140000, 160000, 180000, 200000, 220000, 240000, 260000,
280000, 300000, 320000, 340000, 360000, 380000, 400000,
420000, 440000, 460000, 480000, 500000, 520000, 540000,
560000, 580000, 600000, 620000, 640000, 660000, 680000,
700000, 720000, 740000, 760000, 780000, 800000, 820000,
840000, 860000, 880000, 900000, 920000, 940000, 960000,
980000, 1000000])
In [457]: _.shape
Out[457]: (51,)
arange
不包括结束点,因此我添加了1. linspace
包括结束点(但可以关闭),但默认情况下会生成浮点数