numpy常用方法讲解
Numpy.linspace() 方法
Numpy.linspace(start,stop,num=50,endpoint=True,restep=False,dtype=None)
功能:返回在规定范域内的数值列表
参数:
start:规定区域的开始值
stop:规定区域的结束值
num:产生样本点的的数目
endpoint:如果设置为True,那么stop参数将产生影响
dtype:输出数值的类型
例子:
import numpy as np
np.linspace(2.0, 3.0, num=5)
array([ 2. , 2.25, 2.5 , 2.75, 3. ])np.linspace(2.0, 3.0, num=5, endpoint=False)
array([ 2. , 2.2, 2.4, 2.6, 2.8])np.linspace(2.0, 3.0, num=5, retstep=True)
(array([ 2. , 2.25, 2.5 , 2.75, 3. ]), 0.25
Numpy.arange()方法
Numpy.arange([start,]stop,[step]dtype=None)
功能:在给定的范围内,返回一数组
参数:
Start:数值范围的起始点(该范围包括该值)
Stop:数值范围的结束值(该范围不包括该值)
Step:单位位移值
dtype:输出数组的类型
例子:
import numpy as np
np.arange(3)
array([0, 1, 2])np.arange(3.0)
array([ 0., 1., 2.])np.arange(3,7)
array([3, 4, 5, 6])np.arange(3,7,2)
array([3, 5])
numpy.random.rand()方法
numpy.random.rand(d0,d1,…,dn)
功能:生成一个参数格式类型的数组
参数:
d0,d1,…,dn:返回一个参数类型的维度
例子:
import numpy as np
np.random.rand(3,2)
array([[ 0.14022471, 0.96360618], #random
[ 0.37601032, 0.25528411], #random
[ 0.49313049, 0.94909878]]) #random
Numpy.random.randn()方法
Numpy.random.randn(d0,d1,…,dn)
功能:该函数将产生一个形如(d0,d1,…,dn)格式类型形式的样本,或者样本集,该样本或者样本集服从正太分布(高斯分布)。如果传入参数是元组类型,可用numpy.random.standard_normal代替
参数:
d0,d1,…,dn:该参数为我们要返回数组类型的格式,如果没有输入参数,Python则返回单个浮点值
例子:
import numpy as np
2.5 * np.random.randn(2, 4) + 3
array([[-4.49401501, 4.00950034, -1.81814867, 7.29718677], #random
[ 0.39924804, 4.68456316, 4.99394529, 4.84057254]]) #random
Numpy.fromfunction()方法
Numpy.fromfunction(function,shape,**Kwargs)
功能:通过方法的执行结果,从而来构造一个特定的数组格式
参数:
Function:该函数可以被N个参数所调用,该N个参数类型格式被shape所决定
Shape:该参数决定输出数组类型的维度,也决定function该参数的输入格式
例子:
import numpy as np
np.fromfunction(lambda i, j: i == j, (3, 3), dtype=int)
array([[ True, False, False],
[False, True, False],
[False, False, True]])np.fromfunction(lambda i, j: i + j, (3, 3), dtype=int)
array([[0, 1, 2],
[1, 2, 3],
[2, 3, 4]])
Numpy.Fromfile()方法
Numpy.Fromfile(file,dtype=float,count=1)
功能:根据文件中的数据来构造一个数组。该函数从已知文件格式的文本中读取数据是相当有效的。PS:用于向文件中写数据可用tofile函数
参数:
File:打开文件的对象或者文件名
Dtype:返回的数组类型
Count:要阅读的项目条数,-1表示阅读全部条数
例子:
构造一个n维数组:
import numpy as np
dt = np.dtype([(‘time’, [(‘min’, int), (‘sec’, int)]),
… (‘temp’, float)])x = np.zeros((1,), dtype=dt)
x[‘time’][‘min’] = 10; x[‘temp’] = 98.25
x
array([((10, 0), 98.25)],
dtype=[(‘time’, [(‘min’, ‘<i4’), (‘sec’, ‘<i4’)]), (‘temp’, ‘<f8’)])
保存行数据到磁盘:import os
fname = os.tmpnam()
x.tofile(fname)
从磁盘中读取行数据np.fromfile(fname, dtype=dt)
array([((10, 0), 98.25)],
dtype=[(‘time’, [(‘min’, ‘<i4’), (‘sec’, ‘<i4’)]), (‘temp’, ‘<f8’)])
推荐可拥有存储和下载数据的函数np.save(fname, x)
np.load(fname + ‘.npy’)
array([((10, 0), 98.25)],
dtype=[(‘time’, [(‘min’, ‘<i4’), (‘sec’, ‘<i4’)]), (‘temp’, ‘<f8’)])