Numpy结构化数组的打印精度

3
我想为一个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)]

正如我所预期的那样。打印每个字段确实有效,但是我的结构化数组中有许多字段,当监视代码进度时,我不想每个都打印出来。


1
print(H[0][0]) 是可以正常工作的,我只是不记得如何在子元素上使用它了。 - user1121588
2
print(H['x']) 也可以工作(因为 H['x'] 不是结构化数组),但如果 print(H) 使用由 set_printoptions() 设置的精度,那就更好了。这可能是一个 NumPy 的 bug。您可以在此处创建一个问题:https://github.com/numpy/numpy/issues(点击绿色的“新问题”按钮)。 - Warren Weckesser
2
问题现在是开放的。如果有任何更新,我将发布。 - jmlarson
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接