使用numpy浮点运算时,如何包含.0小数



我有一个numpy数组,其中大部分包含整数和浮点值。按照我的理解,数组总是以浮点形式存储,因此整数存储为<数字>。0。我想将这个数组的条目作为整体浮点处理,但经过一些测试,似乎整个数字都打印为<数字>。不包括小数点.0。我不会打印这些,所以np.set_printoptions对我没有帮助。我也尝试过添加'%.1f' %,它有效,但不是一个可能的解决方案,因为它会将我的浮点值变成字符串。

verticies = np.array([
[4.5, 2],
[0, 1],
[-1.5, 2], 
[1.5, 2], 
[1.5, 1.5], 
[2, 1.5], 
[2, -0.5], 
[1.5, -0.5], 
[1.5, -2], 
[0.5, -2], 
[0.5, -4.5], 
[-0.5, -4.5], 
[-0.5, -2], 
[-1.5, -2], 
[-1.5, -0.5], 
[-2, -0.5], 
[-2, 1.5], 
[-1.5, 1.5]
])
origin = np.array([
[verticies[0][0]],
[verticies[0][1]]
])
print(origin)

我希望它能打印[[4.5], [2.0]],但它却打印[[4.5] [2. ]]

简言之:如何将小数点0包含在2之后。?

任何帮助都将不胜感激!

使用np.set_printoptions

float_formatter = "{:.1f}".format
np.set_printoptions(formatter={'float_kind':float_formatter})
print(origin)

输出

[[4.5]
[2.0]]

最新更新