📜  SciPy – 输入和输出(1)

📅  最后修改于: 2023-12-03 15:34:52.040000             🧑  作者: Mango

SciPy – 输入和输出

SciPy提供了多种方法来读写不同类型的数据。

读取文本文件

可以使用numpy.loadtxt()函数来读取文本文件中的数据。

import numpy as np

data = np.loadtxt('data.txt')
print(data)

会输出以下结果:

[[ 0.    1.    2.    3.    4.  ]
 [ 5.    6.    7.    8.    9.  ]
 [10.   11.   12.   13.   14.  ]
 [15.   16.   17.   18.   19.  ]
 [20.   21.   22.   23.   24.  ]]

也可以使用numpy.genfromtxt()函数来读取带有缺失值的文本文件。

import numpy as np

data = np.genfromtxt('data.txt', delimiter=',', missing_values='NaN', filling_values=0)
print(data)

会输出以下结果:

[[ 1.  2.  3.  0.  5.]
 [ 6.  7.  0.  9. 10.]
 [11.  0. 13. 14.  0.]
 [16. 17.  0. 19. 20.]
 [21.  0. 23.  0. 25.]]
读取二进制文件

可以使用numpy.fromfile()函数来从二进制文件中读取数据。

import numpy as np

data = np.fromfile('data.bin', dtype=np.float32)
print(data)

会输出以下结果:

[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]

也可以使用numpy.memmap()函数来对二进制文件进行内存映射,这样可以节省内存。

import numpy as np

data = np.memmap('data.bin', dtype=np.float32, mode='r', shape=(10,))
print(data)

会输出以下结果:

[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]
写入文件

可以使用numpy.savetxt()函数将数据写入文本文件。

import numpy as np

data = np.arange(25).reshape(5, 5)

np.savetxt('data.txt', data, fmt='%d', delimiter=',')

会将数据写入data.txt文件中。

也可以使用numpy.save()函数将数据保存为二进制文件。

import numpy as np

data = np.arange(10)

np.save('data.npy', data)

会将数据保存为data.npy文件。

总结

以上是SciPy的输入输出相关的介绍。SciPy提供了多种方法来读写不同类型的数据,可以根据实际需求来选择适合的方法。