我想用shape(5,2)保存一个数组,这个数组名为sorted_cube_station_list。
在打印时看起来没问题,但是当我用numpy.tofile保存它,然后用numpy.fromfile读取它时,它变成了一个1d数组
你能帮我吗?
将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)

最佳答案

我建议您使用np.save

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

请参见:第一个参数不能是要保存的变量,而是要保存它的文件的路径。因此,使用np.save(yourArray)时会出现错误
您可以使用np.load(pathToArray)

关于python - 读写ndarray,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32764738/

10-11 22:48
查看更多