考慮有幾個相當長numpy的數組:Python列表類的字符串表示
importy numpy as np;
long_array1 = np.array([random.random() for i in range(10000)]);
long_array2 = np.array([random.random() for i in range(10000)]);
long_array3 = np.array([random.random() for i in range(10000)]);
我想數組保存到文件file.dat
,每numpy的陣列一行。 數組的文本表示應在一個python陣列樣形式,即,在以下numpy的陣列的情況下:
a = np.array([0.3213,0.145323,0.852,0.723,0.421452])
我想保存下列文件中的行。
[0.3213,0.145323,0.852,0.723,0.421452]
有我做的:
array1_str = ",".join([str(item) for item in long_array1]);
array2_str = ",".join([str(item) for item in long_array2]);
array3_str = ",".join([str(item) for item in long_array3]);
with open("file.dat","w") as file_arrays:
file_arrays.write("[" + array1_str + "]\n");
file_arrays.write("[" + array2_str + "]\n");
file_arrays.write("[" + array3_str + "]\n");
一切正常,其實。我只是懷疑我的代碼的效率。我幾乎肯定必須有另一種(更好,更高效)的方式來做到這一點。 我歡迎對隨機列表生成的評論。
你想要解決什麼問題?什麼是閱讀這些文件? – SingleNegationElimination
我將在稍後分析數據 - 繪製圖表,計算概率等。問題是已經有幾個模塊使用指定的格式,所以我想保持相同的格式,以便於以下處理。不過,你推薦哪種格式(供我未來使用)? CSV格式可能是最好的一般兼容性。但是,有什麼格式建議在Python中使用(由python寫入文件,由python讀取,由python處理...)? – Marek
另外:你通常會寫'np.random.random(10000)',而不是在列表理解中調用Python的標準隨機函數,然後調用'np.array'。它既短又快。 – DSM