Python numpy.linespace和存储箱之间的不均匀间距

Python numpy.linespace和存储箱之间的不均匀间距,python,numpy,Python,Numpy,im使用numpy.linespace帮助生成数据箱。 我想要20个0到1000000之间的箱子,每个箱子大小为20k numpy.linespace提供了不均匀的存储箱大小 bins = np.linspace(start = 0, stop =1000000, num = 50, dtype = 'int64') 这将产生如下所示的箱子(前5个箱子) 你知道怎么才能拿到2000万4千万6百万8百万的垃圾箱吗 感谢您的帮助和建议只需在样本数中添加一个即可 >>> bins

im使用numpy.linespace帮助生成数据箱。 我想要20个0到1000000之间的箱子,每个箱子大小为20k

numpy.linespace提供了不均匀的存储箱大小

bins = np.linspace(start = 0, stop =1000000, num = 50, dtype = 'int64')
这将产生如下所示的箱子(前5个箱子)

你知道怎么才能拿到2000万4千万6百万8百万的垃圾箱吗


感谢您的帮助和建议

只需在样本数中添加一个即可

>>> 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])

使用
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
包括端点(但可以关闭),但默认情况下会生成浮点。

np.linspace(20000,1000000,50)
应该执行此操作
linspace
,默认情况下包括端点。因此,您需要在指定计数时考虑到这一点。即使如此,指定
int
dtype也可能很棘手
linspace
使用浮点计算,然后截断<如果您想要整数值,code>arange可能更安全。太好了,谢谢!请原谅我的无知,但我不明白为什么这样做。此指令旨在生成[start,stop]范围内平均分布的num数字。因此,如果你想生成从0到3(0,1,2,3)的数字,你必须有4(3+1)个数字。
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,)