当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy savetxt方法用法及代码示例


Numpy 的 savetxt(~) 方法将 Numpy 数组保存为文本文件。

参数

1. fname | string

文件的名称。如果该文件与脚本不在同一目录中,请确保也包含该文件的路径。

2. X | array-like | optional

您要保存的一维或二维数组。

3. fmt | stringsequence<string> | optional

保存数据的格式。语法遵循 Python 标准字符串格式化程序的语法:

格式

说明

%d

保存为整数

%F

另存为浮点数

%s

保存为字符串

默认情况下, fmt="%.18e" ,这意味着将每个值存储为具有 18 位精度的浮点数(这是隐式的)(即最多显示 18 位小数)。

警告

表中的格式并不详尽

查阅Python的官方文档来了解详细信息。

4. delimiter | string | optional

用于分隔数据的字符串。默认情况下,分隔符是单个空格。

5. newline | string | optional

用于表示新行的字符串。默认情况下,对于一维数组,每个值都存储在单独的行中,对于二维数组,每行都存储在单独的行中。

6. header | string | optional

写入文件第一行的字符串。默认情况下,不会写入任何标头。

7. footer | string | optional

写入文件最底部的字符串。默认情况下,不会写入页脚。

8. comments | stringlist<string> | optional

如果指定了页眉和页脚,则添加到它们前面的字符串。目的是将它们标记为评论。默认情况下,comments="#"

9. encoding | string | optional

写入文件时使用的编码(例如"latin-1"、"iso-8859-1")。默认编码="bytes"。

返回值

None。

例子

基本用法

保存一维 Numpy 整数数组:

x = np.array([3,4,5])
np.savetxt("my_data", x)

这将在与 Python 脚本相同的目录中创建名为 "my_data" 的以下文本文件:

3.000000000000000000e+00
4.000000000000000000e+00
5.000000000000000000e+00

正如上面 fmt 参数中所解释的,所有值都存储为类型 float,精度为 18 - 即 18 个零!

由于在本例中这不是您想要的,因此您可以指定 fmt 参数,如下所示:

x = np.array([3,4,5])
np.savetxt("my_data", x, fmt="%d")

这里,%d只是意味着将值存储为整数。检查我们的"my_data"

3
4
5

我们看到数字确实存储为整数。

指定分隔符参数

用于分隔值的默认分隔符是单个空格。我们可以使用 delimiter 参数指定一个:

x = np.array([[3,4],[5,6]])
np.savetxt("my_data", x, fmt="%d", delimiter=",")

我们最终得到以下 "my_data" 文本文件:

3,4
5,6

请注意,分隔符仅在数组是二维时才起作用。

指定换行参数

默认情况下,对于一维数组,每个值都存储在单独的行中,对于二维数组,每行都存储在单独的行中。

要使用 @ 来分隔行:

x = np.array([[3,4],[5,6]])
np.savetxt("my_data", x, fmt="%d", newline="@")

输出如下:

3 4@5 6@

指定标题

要保存带有标头的一维整数数组:

x = np.array([3,4,5])
np.savetxt("my_data", x, fmt="%d", header="My numbers")

我们的"my_data"文件如下:

# My numbers
3
4
5

请注意# 是如何附加到我们指定的标头中的。您可以使用comments 参数来控制它。

要保存带有页脚的一维整数数组:

x = np.array([3,4,5])
np.savetxt("my_data", x, fmt="%d", footer="My footer")

我们的"my_data"文件如下:

3
4
5
# My footer

再次注意 # 是如何附加到我们指定的页脚的。您可以使用comments 参数来控制它。

指定注释

要保存标头附加前缀 "// " 的一维整数数组:

x = np.array([3,4,5])
np.savetxt("my_data", x, fmt="%d", header="My numbers", comments="// ")

输出如下:

// My numbers
3
4
5

请注意,仅当设置了 headerfooter 时,comments 才相关。另外,默认情况下为 comments="# "

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | savetxt method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。