【发布时间】:2020-06-01 22:05:12
【问题描述】:
我正在做矩阵分解,其输出矩阵具有非整数条目。为了让显示更紧凑,我想问一下如何限制结果的小数位数。非常感谢!
import numpy as np
import scipy.linalg as la
A = np.array([[1, 0, 8, 7, 8, 1],
[0, 1, 2, 8, 9, 2],
[5, 1, 0, 6, 10, 3],
[5, 4, 4, 8, 10, 4]])
(P, L, U) = la.lu(A)
F = np.array(sorted(U, key=lambda x: tuple(x!=0), reverse=False))
print(F)
[[ 0. 0. 0. 6.85483871 8.51612903 1.62903226]
[ 0. 0. 8.26666667 5.93333333 6. 0.46666667]
[ 0. 3. 4. 2. 0. 1. ]
[ 5. 1. 0. 6. 10. 3. ]]
PS:我想要求一个全局设置,而不是重复将函数round 应用于每个输出。
【问题讨论】:
-
以下是您问题的类似答案:stackoverflow.com/questions/455612/…
-
@Panda50 我想请求一个全局设置而不是重复应用函数
round。 -
使用 np.array 真的很简单!也看看这个答案:stackoverflow.com/a/37822702/13350827
-
@Panda50 使用您的解决方案,我必须将函数
np.around应用于我要打印的每个结果。 -
不是真的,在你的代码上试试这个: print(np.around(F,2)) 我想它会给你你想要的东西!