numpy 保存文件及读取
一、保存单个数组与多个数组为二进制文件
- 单个数组保存
1 # 二进制文件(单个数组) 2 data = np.random.random_sample([10,5]) #生成二维数据 3 data

1 import os 2 if not os.path.exists('./tmp/'): 3 os.mkdir('./tmp/') 4 np.save('./tmp/test1.npy', data) #保存单个数组
1 # 读取npy二进制文件(后缀名不能漏) 2 np.load('./tmp/test1.npy')

2.多个数组保存
1 # 生成数组 2 data1 = np.random.randint(80,100,size = (3,5)) 3 data2 = np.array(['a', 'b', 'c', 'd', 'e']) 4 data1

1 #将data1、data2分别命名为score、subject保存在文件中 2 np.savez('./tmp/test2.npz', 3 score=data1, subject=data2) 4 5 # 加载文件及查看数组名 6 data_read = np.load('./tmp/test2.npz') 7 data_read.files

1 data_read['subject'] #以字典方式调用文件中数组

二、将数据保存为txt,csv文件
1.保存为txt,csv文件
# 文本文件 np.savetxt('./tmp/test3.txt', data, fmt='%.2f', # 数据保存形式 delimiter=',') # 分割符号 np.savetxt('./tmp/test3.csv', data, fmt='%.2f', delimiter=',')
2.读取文件
np.loadtxt('./tmp/test3.csv', delimiter=',')

3.保存的文件存在缺失值时,要用genfromtxt调用。np.loadtxt提供的参数相对比较少,所以很多情况无法处理; np.genfromtxt参数相对较大,能处理如缺失值等问题
1 a = np.array([[9, None, 90], [9, None, 90]]) 2 np.savetxt('./tmp/test4.txt', a, fmt='%s') 3 4 np.loadtxt('./tmp/test4.txt', delimiter=' ')
存在缺失值时报错:

1 np.genfromtxt('./tmp/test4.txt', 2 defaultfmt='%s')

浙公网安备 33010602011771号