Array常用函数
上一篇中使用了random.randn()
函数创建了一个长度为10的一维数组,numpy提供了一个方法,可以将一维数组扩展成为二维,即使用reshape() 方法
a = np.random.randn(20).reshape(4,5)
b = np.random.randint(10,size = 20).reshape(4,5)
numpy 定义了一些常用函数用以对array 进行操作
如下:
import numpy as np
a = np.random.randn(20).reshape(4,5)
b = np.random.randint(10,size = 20).reshape(4,5)
#unique()方法去除数组中重复的元素,并按元素从大到小返回一个不重复的元组或列表
np.unique(a)
#sum()
#分别按每一列求和,并返回一个列的和的一维数组
np.sum(a)
#返回第0行求和的结果
np.sum(a[0])
#返回第0列求和的结果
np.sum(a[:,0])
#max()
#返回整个列表中最大的元素
np.max(a)
#返回第0行最大的
np.max(a[0])
#返回第0列最大的
np.max(a[:,0])
将Array序列化
使用python 的pickle库来序列化
import numpy as np
import pickle
x = np.arange(10)
#将x写入文件
f = open('x.pkl','wb')
pickle.dump(x,f)
#从文件中读x
f = open('x.pkl','rb')
pickle.load(f)
使用numpy提供的save方法序列化Array
#存
np.save('one_array',x)
#读
np.load('one_array.npy')
#同时存两个数组
np.savez('two_array.npz',a=x,b=y)
c = np.load('two_array.npz')
c['a']
ps:注意使用pickle库得到的文件后缀与用numpy 的save方法得到的文件后缀不同;同时存两个数组得到的是一个压缩文件