在Python中,为什么numpy数组的预分配无法限制其打印精度?

问题描述 投票:0回答:1

这是一个最小的例子:

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
的打印精度,而第二次尝试却成功了?

python numpy printing precision numpy-ndarray
1个回答
0
投票

跑步时:

x = np.array([None])
x[0] = 1/3
print(x)

x
是一个对象数据框,而不是浮点数:

array([0.3333333333333333], dtype=object)

这会忽略打印选项。

© www.soinside.com 2019 - 2024. All rights reserved.