gpt4 book ai didi

python - 可能的 numpy 值格式字符串有哪些?

转载 作者:行者123 更新时间:2023-12-01 04:19:27 36 4
gpt4 key购买 nike

在 numpy 中,许多函数都有一个字符串,可以作为附加参数传递以格式化 numpy 数组值。

例如,在numpy.loadtxt中,http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html

可以选择以下内容

"%10.5f"
"%.4e %+.4j"

它在文档中提到:

“fmt 参数的进一步说明(%[flag]width[. precision]specifier):”

到底有哪些可能的格式?

flagwidth precisionspecifier 的可能值是什么?

对解释何时可以混合和匹配的人给予奖励积分...文档中提到了“Iteration %d – %10.5f”...

最佳答案

np.savetxt 使用老式 (Py2) % 样式格式。关键行是:

for row in X:
fh.write(asbytes(format % tuple(row) + newline))

其中 format 是您的 fmt 参数,或由它构建:

# `fmt` can be a string with multiple insertion points or a
# list of formats. E.g. '%10.5f\t%10d' or ('%10.5f', '$10d')

(我对“$10d”字符串感到困惑。这是一个拼写错误吗?

本质上,如果字符串 fmt 中有足够的 %,则按原样使用。如果它是一个列表,它将用分隔符将它们连接起来。如果是单一格式,它会复制它并加入。

数组转换为元组的行,这是%格式的正常输入。

所以 savetxt 是直接的 Python 数字格式。

我认为这是唯一一个以这种方式运行的 numpy 函数。有一个单独的格式化程序来处理数组的打印显示。

==========================

示例:

完全指定的fmt字符串:

In [22]: np.savetxt('text.txt',np.ones((2,4)),fmt='%s: %10d, %10.5fl %.4e')

In [23]: cat text.txt
1.0: 1, 1.00000l 1.0000e+00
1.0: 1, 1.00000l 1.0000e+00

直接将 fmt 与整数元组一起使用:

In [24]: '%s: %10d, %10.5fl %.4e'%(1,1,1,1)
Out[24]: '1: 1, 1.00000l 1.0000e+00'

并带有一个 float 元组(注意更改第一个 %s 格式)

In [25]: '%s: %10d, %10.5fl %.4e'%(1.,1.,1.,1.)

Out[25]: '1.0: 1, 1.00000l 1.0000e+00'

关于python - 可能的 numpy 值格式字符串有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33879900/

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