當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。