为什么我的倒数第二个数字在输出中不可见?

时间:2018-02-27 22:27:03

标签: python-3.x numpy

运行时

>>> a = np.linspace(0, 330, 330, 1, dtype=int)
>>> print(a)


[  0,   1,   2, ..[skipped for readability].. 323, 324, 325, 326, 327, 328, 330])], dtype=int

我希望倒数第二个数字为329而不是328。为什么不是这样?这可能是因为浮点数中的数字是328.99696049但是我想知道如何将它包含在我的输出中,以及当我对该数字进行计算时它是否对我的数据纯度很重要。

1 个答案:

答案 0 :(得分:1)

是的,你的假设是正确的。 np.linspace3300之间分配330值,这意味着两个相邻值之间的步长为(end - start) / (steps - 1) = 330 / 329。由于您强制使用int,小数部分将被截断。

如果您希望不断加大1的步长,则需要331步骤:

a = np.linspace(0, 330, 331, 1, dtype=int)

使用np.arange获得相同结果当然更简单:

a = np.arange(331)