这是一个最小的例子:
import numpy as np
np.set_printoptions(linewidth=1000, precision=3)
# First attempt fails to limit the printed precision of x
x = np.array([None])
x[0] = 1/3
print(x)
# Second attempt succeeds
x = [None]
x[0] = 1/3
x = np.array(x)
print(x)
运行此脚本会产生
[0.3333333333333333]
[0.333]
为什么上面的“第一次尝试”无法限制
x
的打印精度,而第二次尝试却成功了?
跑步时:
x = np.array([None])
x[0] = 1/3
print(x)
x
是一个对象数据框,而不是浮点数:
array([0.3333333333333333], dtype=object)
这会忽略打印选项。