numpy——文件读取与保存

numpy中的文件读取与保存

import numpy as np
import pickle

读取

1.dst = numpy.load(file, mmap_mode=None, allow_pickle=False, fix_imports=True, encoding=‘ASCII’)

  • file:文件名或者路径加文件名或者文件对象
  • allow_pickle:为True时,可以从将pkl保存的文件读入,但是这样不好,一般默认为False
f = open("a", mode="rb")
# 用文件对象
a = np.load(f, allow_pickle=True)
a
{'age': 22, 'sex': 'male', 'height': 180}
# 用文件名
x = np.load("q.npy")
x
array([1, 2, 3])

保存

numpy.save(file, arr, allow_pickle=True)

  • file:可以是文件名或者路径名加文件名,或者是文件对象;如果没有给出文件的后缀,则默认保存为*.npy文件
  • arr:要保存的数组
  • allow_pickle:一般不管这个参数,最好不要混合使用两种数据
# 直接用文件名保存数组
a = np.array([1, 2, 3])
np.save("q", a)
# 用文件对象保存
f = open("arr", mode="wb")
np.save(f, a)

numpy.savez(file, *args, **kwds)

  • file:文件名或者路径加文件名,或者是文件对象;如果没有指定文件后缀,则默认保存为*.npz
  • 可以传入多个数组对象,用逗号隔开就行

numpy.savez()会将保存的多个数组以字典形式保存,每个数组都会默认给一个key,从“arr_0”开始。也可以在传入多个数组时用关键字自己指定其key值。通过obj = np.load(npz文件)加载后,可以通过obj.files属性查看所有保存数组的key值,类似于dict.keys。并且可以通过key值索引保存的数组。

j = np.array([1, 5, 8])
k = np.array([11, 31, 9])
l = np.array([67, 40, 23])
# 用默认key值
np.savez("arr3",  j, k, l)
# 要写出完整的文件名,包括后缀
arr3 = np.load("arr3.npz")
print(arr3.files)
print(arr3["arr_0"])
['arr_0', 'arr_1', 'arr_2']
[1 5 8]
# 指定key值
np.savez("arr3_d", embed=j, ot=k, qq=l)
arr3_d = np.load("arr3_d.npz")
arr3_d.files
['embed', 'ot', 'qq']

你可能感兴趣的:(数据分析,深度学习,数据分析,机器学习,大数据)