gpt4 book ai didi

python - 如何将(四舍五入) float 数组更改为字符串数组python

转载 作者:太空宇宙 更新时间:2023-11-03 17:33:26 26 4
gpt4 key购买 nike

我有一些四舍五入为 2 位数字的数字数组 xx.xx(小数=2,使用 np.around),我想将其保存到文本文档中以供人类阅读。我想将这些“数字”数组更改为字符串数组,以便我可以将它们与其他字符串数组(行和列标题)组合并使用 numpy.savetxt 以便以可读的方式将我的数据保存到文本中文档。如何将“数字”数组更改为字符串数组? (我相信这些数字是四舍五入的 float ,它应该仍然是 float ,但不知道如何检查)

A=np.array([57/13, 7/5, 6/8])

产生数组([4.384615384615385, 1.4, 0.75 ])

B=A.astype('|S4' )

产生数组([b'4.38',b'​​1.4',b'0.75])。当我保存到 txt 时,b 仍然保留。

np.savetxt('my_file.txt', B, fmt="%s)

如何去掉 b ?

我知道他们在这里谈论 b What does the 'b' character do in front of a string literal? ,但我不知道如何摆脱它。

使用 .astype 不是必需的,只是看起来是一个好方法。

最佳答案

在您的具体情况下,最好使用 np.savetxt(fname, data, fmt='%0.2f'),其中 data 是您的原始 float 数组。

fmt 说明符是 sprintf-style format string%0.2f 指定数字将显示为 float (f - 与科学记数法相反),并在小数点左侧使用尽可能多的字符进行格式化( 0) 和小数点右侧 2 个字符。

例如:

import numpy as np

a = np.array([57./13, 7./5, 6./8])
np.savetxt('out.txt', a, fmt='%0.2f')

生成的 out.txt 文件将如下所示:

4.38
1.40
0.75

关于python - 如何将(四舍五入) float 数组更改为字符串数组python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31551921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com