python - numpy arange函数构建数组大小错误

标签 python arrays numpy methods shapes

当我使用numpy arange函数构建numpy数组时,使用shape检查时大小不正确。 例如,如果我构建一个数组:np.arange(-5,6,1),则形状为(11,)。 但是,当我构建 array:np.arange(-0.001,0.0011,0.0001) 时,形状为 (22,)

使用 np.array.shape 查找形状

最佳答案

看起来当你打印数组时,你会得到这个 -

array([-1.00000000e-03, -9.00000000e-04, -8.00000000e-04, -7.00000000e-04,
       -6.00000000e-04, -5.00000000e-04, -4.00000000e-04, -3.00000000e-04,
       -2.00000000e-04, -1.00000000e-04,  4.33680869e-19,  1.00000000e-04,
        2.00000000e-04,  3.00000000e-04,  4.00000000e-04,  5.00000000e-04,
        6.00000000e-04,  7.00000000e-04,  8.00000000e-04,  9.00000000e-04,
        1.00000000e-03,  1.10000000e-03])

当 -0.001 增加 0.0001(根据值 4.33680869e-19 建议为 0)时,似乎存在一些舍入问题。这意味着数组中的每个后续值都略小于显示的值。这就是为什么最后一个值 0.0011 在不应该包含在数组中的情况下被包含在数组中。这就是导致形状不匹配的原因。

我建议这样做,这样舍入就不会成为问题。

x = np.arange(-10,11,1)
x = x/10000
x.shape # gets (21,)
print(x)

关于python - numpy arange函数构建数组大小错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59689669/

相关文章:

python - 如何在pyQt中调整QFileDialog的大小?

python - 如何在python中创建特定类型的数组

c++ - 将动态二维数组中的所有值设置为设定值

Python 类型错误 : unsupported operand type(s) for -: 'str' and 'str'

python - 使用 PyUSB 从 USB 设备读取/写入时遇到问题(超时)

python - 如何每隔第 n 个索引将一个字符串插入到 numpy 列表中?

python - python中的多维直方图

Python程序无法导入点解析器

python - anaconda 在 windows 上安装 python 3.4

c - 按其中一个字符串值的字母顺序对结构数组进行排序的函数