下面的代碼生成矩陣X
(I使用Python 2.7),以執行裝載的文本用方括號括:如何使用numpy的
X = [random.randint(0, 2 ** 8) for _ in range(num)]
# Removes duplicates
X = list(set(X))
# Transforms into string representation
X = [('{0:0' + str(8) + 'b}').format(x) for x in X]
# Transforms each bit into an integer.
X = np.asarray([list(map(int, list(x))) for x in X], dtype=np.int8)
哪個是故意以這種形式(假設我僅產生10個號碼):
[[1 0 1 1 0 0 0 0]
[0 1 0 0 0 1 1 1]
[0 0 0 0 0 0 0 1]
[1 0 0 0 0 1 0 0]
[0 1 1 0 0 1 1 0]
[1 1 0 0 1 1 0 1]
[1 1 1 0 0 1 1 1]
[0 1 0 0 1 1 1 1]]
我的目標是使用numpy
再次存儲和加載(帶方括號)。在存儲過程中,我使用了numpy.savetxt('dataset.txt', X, fmt='%d')
(刪除方括號:()。問題是我想將它加載回上面顯示的相同形狀(包括方括號)。使用numpy.loadtxt(StringIO('dataset.txt'))
有幫助。不知道如何實現這一點。我試圖找到一個(有效的)技巧這樣做,但真的我堅持!任何幫助,非常感謝。
謝謝
你可以用''savetxt/loadtxt'往返執行一個簡單的數組,就像這樣。在文件中,但如果你不需要一個可讀的文件e,「保存/加載」對更好(也更快)。 – hpaulj