2 回答

TA貢獻1789條經驗 獲得超8個贊
1) .npz 是一種 numpy 特定格式。Go 本身不太可能在標準庫中支持這種格式。我也不知道今天存在任何第三方庫,并且(10 秒)搜索沒有彈出。如果您特別需要 npz,請使用 python + numpy。
如果你只是想從 Go 中得到類似的東西,你可以使用任何格式。二進制格式包括golang binary和gob。根據您要執行的操作,您甚至可以使用非二進制格式(如json)并自行壓縮。
2) Go 沒有內置矩陣。你找到的那個庫是第三方的,它只處理float64
s.
但是,如果您只需要以矩陣(n 維)格式存儲字符串,則可以使用 n 維切片。對于2維它看起來像這樣:var myStringMatrix [][]string
。

TA貢獻1805條經驗 獲得超9個贊
npz
文件是zip
檔案。歸檔和壓縮(可選)由 Pythonzip
模塊處理。在npz
包含一個npy
文件的每個變量保存。任何基于操作系統的歸檔工具都可以解壓縮和提取組件.npy
文件。
所以剩下的問題是 - 你能模擬npy
格式嗎?這不是微不足道的,但也不難。它由一個包含形狀、步幅、dtype 和順序信息的頭塊組成,后跟一個數據塊,實際上是數組數據緩沖區的字節圖像。
因此緩沖區信息和數據與numpy
數組內容密切相關。如果變量不是普通數組,則save
使用 Python pickle 機制。
首先,我建議使用該csv
格式。它不是二進制的,也不快,但每個人和他的兄弟都可以生成并閱讀它。我們不斷收到有關使用np.loadtxt
或讀取此類文件的問題np.genfromtxt
。查看代碼np.savetxt
以了解如何numpy
生成此類文件。這很簡單。
另一個通用選擇是使用tolist
數組格式的JSON 。之所以想到這一點,GO
是因為它是 Google 自己開發的用于 Web 應用程序的 Python 替代品。JSON 是一種基于簡化 Javascript 語法的跨語言格式。
- 2 回答
- 0 關注
- 328 瀏覽
添加回答
舉報