更过的Numpy教程连载内容:https://www.jianshu.com/nb/47449944
Numpy中数据的存储和读取
ndarray对象的文本类文件保存和读取
使用 savetxt
和 loadtxt
将Numpy数组保存成/读取自文本类型的文件(.txt 或者 .csv 这类可以使用文本类软件直接打开查看的文件类型)
在 savetxt
和 loadtxt
函数中,作为文件名称传入的参数必须带有扩展名
>>> arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
>>> np.savetxt('new_file.csv', arr)
>>> np.savetxt('new_file.txt', arr)
>>> np.loadtxt('new_file.csv')
array([1., 2., 3., 4., 5., 6., 7., 8.])
>>> np.loadtxt('new_file.txt')
array([1., 2., 3., 4., 5., 6., 7., 8.])
当然 savetxt
和 loadtxt
还可以传入其他参数使得操作更加复杂:
https://numpy.org/devdocs/reference/generated/numpy.savetxt.html#numpy.savetxt
https://numpy.org/devdocs/reference/generated/numpy.loadtxt.html#numpy.loadtxt
更加复杂的保存操作可以使用 genfromtxt
函数完成,可以处理一些诸如缺失值、忽略值等复杂的问题
https://numpy.org/devdocs/reference/generated/numpy.genfromtxt.html#numpy.genfromtxt
另外,对CSV文件的读取和保存可以结合 pandas 使用
ndarray对象的二进制文件保存和读取
二进制文件虽然不能直接使用文本类软件打开查看其中的内容,但是比文本类文件的保存形式,有着更快的保存和读取速度
- 使用
save
和load
可以将单个ndarray
对象保存成/读取自 .npy 为拓展名的二进制文件-
save('filename',A)
: 其中第一个参数可以不指定后缀 .npy,也可以包含 .npy 后缀 -
load('filename')
: 这里的文件名必须包含 .npy/.npz 后缀,即使用带有拓展名的完整名称
-
- 使用
savez
保存多个ndarray到一个拓展名为 .npz 的文件中:https://numpy.org/devdocs/reference/generated/numpy.savez.html#numpy.savez - 使用
savez_compressed
可以保存压缩后的 .npz 文件:https://numpy.org/devdocs/reference/generated/numpy.savez_compressed.html#numpy.savez_compressed
更多的更详细的读取和存储操作:
https://numpy.org/devdocs/reference/routines.io.html#routines-io
网友评论