我想为一个numpy结构数组设置打印精度,但似乎并没有起作用。
H = np.zeros(1, dtype=[('x','float',2),('f','float')])
H['x']= np.random.uniform(0,1,(1,2))
H['f']= np.random.uniform(0,1)
np.set_printoptions(precision=3)
print(H)
叶子
[([0.5928384015048476, 0.6187004067605606], 0.2981617279773586)]
不是
[([0.593, 0.619], 0.298)]
正如我所预期的那样。打印每个字段确实有效,但是我的结构化数组中有许多字段,当监视代码进度时,我不想每个都打印出来。
print(H['x'])
也可以工作(因为H['x']
不是结构化数组),但如果print(H)
使用由set_printoptions()
设置的精度,那就更好了。这可能是一个 NumPy 的 bug。您可以在此处创建一个问题:https://github.com/numpy/numpy/issues(点击绿色的“新问题”按钮)。 - Warren Weckesser