Numpy 的 savetxt(~) 方法將 Numpy 數組保存為文本文件。
參數
1. fname | string
文件的名稱。如果該文件與腳本不在同一目錄中,請確保也包含該文件的路徑。
2. X | array-like | optional
您要保存的一維或二維數組。
3. fmt | string 或 sequence<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 | string 或 list<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
請注意,僅當設置了 header 或 footer 時,comments 才相關。另外,默認情況下為 comments="# " 。
相關用法
- Python NumPy savez_compressed方法用法及代碼示例
- Python NumPy save方法用法及代碼示例
- Python NumPy savez方法用法及代碼示例
- Python NumPy sample方法用法及代碼示例
- Python sklearn.cluster.MiniBatchKMeans用法及代碼示例
- Python NumPy squeeze方法用法及代碼示例
- Python scipy.ndimage.binary_opening用法及代碼示例
- Python scipy.signal.windows.tukey用法及代碼示例
- Python scipy.stats.mood用法及代碼示例
- Python str.isidentifier用法及代碼示例
- Python sklearn.metrics.fbeta_score用法及代碼示例
- Python scipy.fft.ihfftn用法及代碼示例
- Python scipy.stats.normaltest用法及代碼示例
- Python scipy.ndimage.convolve1d用法及代碼示例
- Python scipy.stats.arcsine用法及代碼示例
- Python scipy.interpolate.UnivariateSpline.antiderivative用法及代碼示例
- Python NumPy sign方法用法及代碼示例
- Python scipy.linalg.hadamard用法及代碼示例
- Python socket.create_server用法及代碼示例
- Python sklearn.linear_model.PassiveAggressiveRegressor用法及代碼示例
- Python skimage.feature.graycomatrix用法及代碼示例
- Python sympy.rf()用法及代碼示例
- Python sklearn.metrics.make_scorer用法及代碼示例
- Python sklearn.model_selection.ShuffleSplit用法及代碼示例
- Python sklearn.metrics.dcg_score用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 NumPy | savetxt method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
