gpt4 book ai didi

python - 如何强制以正常方式而不是科学记数法显示 ndarray?

转载 作者:太空狗 更新时间:2023-10-30 02:00:22 30 4
gpt4 key购买 nike

我正在尝试在屏幕上打印一个 ndarray。但是python总是用科学计数法显示,我不喜欢。对于标量,我们可以使用

>>> print '%2.4f' %(7.47212470e-01)
0.7472

但是如何为这样的 numpy.ndarray 做到这一点:

[[  7.47212470e-01   3.71730070e-01   1.16736538e-01   1.22172891e-02]
[ 2.79279640e+00 1.31147152e+00 7.43946656e-02 3.08162255e-02]
[ 6.93657970e+00 3.14008688e+00 1.02851599e-01 3.96611266e-02]
[ 8.49295040e+00 3.94730094e+00 8.99398479e-02 7.60969188e-02]
[ 2.01849250e+01 8.62584092e+00 8.75722302e-02 6.17109672e-02]
[ 2.22570710e+01 1.00291292e+01 1.20918359e-01 1.07250131e-01]
[ 2.82496660e+01 1.27882133e+01 1.08438172e-01 1.58723714e-01]
[ 5.89170270e+01 2.55268510e+01 1.31990966e-01 1.61599514e-01]]

.astype(float) 方法不改变结果,.round(4) 返回:

[[  7.47200000e-01   3.71700000e-01   1.16700000e-01   1.22000000e-02]
[ 2.79280000e+00 1.31150000e+00 7.44000000e-02 3.08000000e-02]
[ 6.93660000e+00 3.14010000e+00 1.02900000e-01 3.97000000e-02]
[ 8.49300000e+00 3.94730000e+00 8.99000000e-02 7.61000000e-02]
[ 2.01849000e+01 8.62580000e+00 8.76000000e-02 6.17000000e-02]
[ 2.22571000e+01 1.00291000e+01 1.20900000e-01 1.07300000e-01]
[ 2.82497000e+01 1.27882000e+01 1.08400000e-01 1.58700000e-01]
[ 5.89170000e+01 2.55269000e+01 1.32000000e-01 1.61600000e-01]]

我只是想要 0.7472 0.3717 等

最佳答案

numpy.set_string_function 函数可用于更改数组的字符串表示形式。

您还可以使用 numpy.set_print_options 更改默认使用的精度并关闭以科学计数法报告小数。

来自 set_print_options 的示例:

>>> np.set_printoptions(precision=4)
>>> print np.array([1.123456789])
[ 1.1235]

关于python - 如何强制以正常方式而不是科学记数法显示 ndarray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4205259/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com