2015-09-24 35 views
1

我想保存一個數組形狀(5,2),該數組名爲sorted_cube_station_list。寫和讀ndarray

在它看起來不錯的打印,但是當我numpy.tofile保存它後來與numpy.fromfile閱讀它becames一維數組

你能幫助我嗎? 進口numpy的爲num

nx=5 
ny=5 
nz=5 
stations=['L001','L002','L003','L004','L005'] 

for x in range(nx): 
    for y in range (ny): 
     for z in range (nz): 
      cube_station_list = [] 
      i=-1 
      for sta in stations: 
       i=i+1 
       cube=[int(i), num.random.randint(2500, size=1)[0]] 
       cube_station_list.append(cube) 
      cub_station_list_arr=num.asarray(cube_station_list) 
      sorted_cube_station_list_arr=cub_station_list_arr[cub_station_list_arr[:, 1].argsort()] 
      print x,y,z, sorted_cube_station_list_arr 
      num.ndarray.tofile(sorted_cube_station_list_arr,str(x)+'_'+str(y)+'_'+str(z) 
+1

任何理由不使用np.save()保存的陣列得到了什麼? –

+1

此外,您的縮進(8個空格)使您的代碼難以閱讀,您只能使用4個嗎? –

+0

numpy.ndarray'對象沒有屬性'寫'這就是爲什麼我沒有使用它@ M.Massias – CatarinaCM

回答

3

我建議你使用np.save

a = np.ones(16).reshape([8, 2]) 
np.save("fileName.npy", a) 

the docs:第一個參數不能是你要保存的變量,但路徑要保存文件它。因此,錯誤您在使用np.save(yourArray)

可以加載使用np.load(pathToArray)