Python 如何用numpy修改小数?
当我打印数组时,它是这样的Python 如何用numpy修改小数?,python,arrays,numpy,Python,Arrays,Numpy,当我打印数组时,它是这样的 打印(cf) 但是我想修改数组,使其看起来像这样,这样我就可以很容易地比较这些值 [[ 0.13235928 -0.69078624] [-0.06700144 0.32405811] [-0.16728665 0.84871924] [-0.25627623 1.30533686] [-0.32718223 1.67507062] [-0.34118729 1.74447093] [-0.38948283 2.00007669] [ 0.1
打印(cf)
但是我想修改数组,使其看起来像这样,这样我就可以很容易地比较这些值
[[ 0.13235928 -0.69078624]
[-0.06700144 0.32405811]
[-0.16728665 0.84871924]
[-0.25627623 1.30533686]
[-0.32718223 1.67507062]
[-0.34118729 1.74447093]
[-0.38948283 2.00007669]
[ 0.11188903 -0.58557467]
[ 0.28579372 -1.46559478]]
如何使用
numpy
修改它?尝试使用“print(np.around(cf,'int代表十进制长度”)”。这应该只超出你想要的小数点后x位 尝试使用“打印(np.around(cf,'int代表十进制长度”)”。这应该只超出你想要的小数点后x位 如果要全局更改打印行为(而不是每次打印),可以使用numpy.set_printoptions(suppress=True)
更改numpy输出,使其始终打印浮动,而不会返回到指数格式。使用suppress=False
恢复正常。如果需要更多的十进制数字,请使用函数的precision
参数
如果要全局更改打印行为(而不是每次打印),可以使用
numpy.set\u printoptions(suppress=True)
更改numpy输出,使其始终打印浮动,而不会返回到指数格式。使用suppress=False
恢复正常。如果需要更多的十进制数字,请使用函数的precision
参数
只需对结果进行四舍五入以进行视觉比较,例如
cf.round(8)
您可以使用np.around([0.37,1.64],小数=1)
在numpy中进行转换。请看:@Alexander,你能演示一下舍入是如何改变这个显示的吗?我认为第一次显示的问题是科学记数法,而不是小数的数量。或者是吗?@hpaulj使用Jupyter笔记本,我通过cf.round(8)
获得了类似于OP预期输出的东西,其中cf
对应于原始数字。例如,请注意,第一个值1.32641260e-01与OP的预期值0.13235928不对应。事实上,许多值都已关闭。我假设这是偶然的,而不是真实的预期输出。@Alexandercf
显示中的值范围不够宽,无法触发numpy
中的科学记数法。一个或多个需要在1e-4附近。重要的是最小的大小,而不是小数。只需对结果进行四舍五入以进行视觉比较,例如cf.round(8)
您可以使用np.around([0.37,1.64],小数=1)
在numpy中进行转换。请看:@Alexander,你能演示一下舍入是如何改变这个显示的吗?我认为第一次显示的问题是科学记数法,而不是小数的数量。或者是吗?@hpaulj使用Jupyter笔记本,我通过cf.round(8)
获得了类似于OP预期输出的东西,其中cf
对应于原始数字。例如,请注意,第一个值1.32641260e-01与OP的预期值0.13235928不对应。事实上,许多值都已关闭。我假设这是偶然的,而不是真实的预期输出。@Alexandercf
显示中的值范围不够宽,无法触发numpy
中的科学记数法。一个或多个需要在1e-4附近。重要的是最小的量级,而不是小数。
[[ 0.13235928 -0.69078624]
[-0.06700144 0.32405811]
[-0.16728665 0.84871924]
[-0.25627623 1.30533686]
[-0.32718223 1.67507062]
[-0.34118729 1.74447093]
[-0.38948283 2.00007669]
[ 0.11188903 -0.58557467]
[ 0.28579372 -1.46559478]]