Home  >  Article  >  Backend Development  >  How to save and read Numpy arrays

How to save and read Numpy arrays

php中世界最好的语言
php中世界最好的语言Original
2018-04-09 15:53:223166browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn