This time I will bring you NumpyHow to save and read arrays, what are the precautions for saving and reading Numpy arrays, the following is a practical case, let’s take a look one time.
1. The array is saved in binary format
np.save and np.load are the two main ways to read and write disk array datafunction. By default, the array is saved in a file with the extension npy in uncompressed raw binary format. Taking array a as an example
np.save("filename.npy",a) b = np.load("filename.npy")
Using this method, the suffix name of the saved file will be set to . npy
2. Access text files
Using np.savetxt and np.loadtxt can only read and write 1-dimensional and 2-dimensional arrays
np.savetxt: Write an array to a text file separated by some delimiter
np.loadtxt: Specify some delimiter symbol, read the text file into the array
np.savetxt("filename.txt",a) b = numpy.loadtxt("filename.txt", delimiter=',')
3. Save it as a binary file
Using the tofile function of the array can easily The data in the array is written into the file in binary format
a.tofile("filename.bin") b = np.fromfile("filename.bin",dtype = **)
This method has several differences from np.save:
The tofile function can only Save the array as a binary file. There is no fixed requirement for the file extension. This saving method has requirements for data reading. np.fromfile needs to manually specify the dtype of the read data. If the specified format is inconsistent with the one when saving, the wrong data will be read.
The tofile function cannot save the row and column information of the current data. Regardless of whether the order of the array is in C language format or Fortran language format, the C language format is used for output. Therefore, the data read out using np.fromfile is a one-dimensional array, and you need to use reshape to specify the row and column information.
For example, the following example shows:
>>> a = np.arange(0,12) >>> a.shape = 3,4 >>> a array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> a.tofile("a.bin") >>> b = np.fromfile("a.bin", dtype=np.float) # 按照float类型读入数据 >>> b # 读入的数据是错误的 array([ 2.12199579e-314, 6.36598737e-314, 1.06099790e-313, 1.48539705e-313, 1.90979621e-313, 2.33419537e-313]) >>> a.dtype # 查看a的dtype dtype('int32') >>> b = np.fromfile("a.bin", dtype=np.int32) # 按照int32类型读入数据 >>> b # 数据是一维的 array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) >>> b.shape = 3, 4 # 按照a的shape修改b的shape >>> b array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to php Chinese Other related articles online!
Recommended reading:
How Python Numpy operates arrays and matrices
Python implements the method of solving the greatest common divisor
The above is the detailed content of How to save and read Numpy arrays. For more information, please follow other related articles on the PHP Chinese website!