python - pretty-print SciPy 数组

标签 python scipy

我有一个如下所示的数组:

[[  9.71369349e+02   1.06915603e+03   1.14821723e+03   3.16300000e+02]
 [  1.83700564e+03   1.85500390e+03   1.87149745e+03   7.69400000e+01]
 ...,
 [  1.00000000e+20   5.56290955e+02   7.92477067e+02   4.34600000e+01]]

我怎样才能漂亮地打印这个,这样这些值就不会被求幂?

我尝试过使用:

sp.set_printoptions(suppress=True)

这没有效果。

最佳答案

要删除所有幂运算,您需要调用formatter 参数。修改 docs 中的示例,这样的事情应该可以解决问题:

sp.set_printoptions(formatter={"float": lambda x: '{:.20f}'.format(x)})

这使用 string formatting打印具有 20 位小数的定点数(即“f”)。因此,9.71369349e+02 表示为 971.36934900000005654874。您需要准确决定如何处理这个小数位数。

关于python - pretty-print SciPy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18145496/

相关文章:

python - 如何在 Python 3 中计算并打印之间的颜色

python - 检索 SciPy 稀疏矩阵消耗的字节数

python - 查找二维数组中最近邻居的距离

python - CSR 格式的 scipy.sparse 矩阵是什么?

python - fmin_cg : Desired error not necessarily achieved due to precision loss

python - 使用 Matplotlib 在 Python 中按线方程绘制二维线

python - 如何在 python 返回时强制调用类方法

Python 样条曲线或其他在 x 轴上随时间变化的插值?

用于在两个常量字符串之间搜索变量字符串的 Python 脚本

python - 如何使用 Python 从 txt 文件中删除最后 N 行?