目录
np.arange(0,7,1,dtype=np.int16)
np.ones((2,3,4),dtype=np.int16)
numpy.around(a, decimals=0, out=None)
argparse.ArgumentParser()用法解析:
python中的os.path.dirname(__file__)的使用:
np.shape()
功能:查看矩阵或者数组的维度
举例:
1. 3*3的矩阵
>>> e = eye(3)
>>> e
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])
>>> e.shape
(3, 3)
2. 一维矩阵
>>> b =array([1,2,3,4])
>>> b.shape
(4,)
#可以简写
>>> shape([1,2,3,4])
(4,)
>>>
3. 4*2的矩阵
>>> c = array([[1,1],[1,2],[1,3],[1,4]])
>>> c.shape
(4, 2)
>>> c.shape[0]
4
>>> c.shape[1]
2
4. 一个单独的数值,返回值为空
>>> shape(3)
()
np.array()
功能:创建数组
举例:
a = np.array([2,3,4])
b = np.array([2.0,3.0,4.0])
c = np.array([[1.0,2.0],[3.0,4.0]])
d = np.array([[1,2],[3,4]],dtype=complex) # 指定数据类型
print(a, a.dtype)
print(b, b.dtype)
print(c, c.dtype)
print(d, d.dtype)
[2 3 4] int32
[2. 3. 4.] float64
[[1. 2.]
[3. 4.]] float64
[[1.+0.j 2.+0.j]
[3.+0.j 4.+0.j]] complex128
np.arange(0,7,1,dtype=np.int16)
# 0为起点,间隔为1时可缺省(引起歧义下不可缺省)
np.ones((2,3,4),dtype=np.int16)
# 2页,3行,4列,全1,指定数据类型
np.zeros((2,3,4))
# 2页,3行,4列,全0
np.empty((2,3))
#值取决于内存
np.arange(0,10,2)
# 起点为0,不超过10,步长为2
np.linspace(-1,2,5)
# 起点为-1,终点为2,取5个点
np.random.randint(0,3,(2,3))
# 大于等于0,小于3,2行3列的随机整数
举例:
print(np.arange(0,7,1,dtype=np.int16)) # 0为起点,间隔为1时可缺省(引起歧义下不可缺省)
print(np.ones((2,3,4),dtype=np.int16)) # 2页,3行,4列,全1,指定数据类型
print(np.zeros((2,3,4))) # 2页,3行,4列,全0
print(np.empty((2,3))) #值取决于内存
print(np.arange(0,10,2)) # 起点为0,不超过10,步长为2
print(np.linspace(-1,2,5)) # 起点为-1,终点为2,取5个点
print(np.random.randint(0,3,(2,3))) # 大于等于0,小于3,2行3列的随机整数
输出:
[0 1 2 3 4 5 6]
[[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]]
[[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]]
[[1.39069238e-309 1.39069238e-309 1.39069238e-309]
[1.39069238e-309 1.39069238e-309 1.39069238e-309]]
[0 2 4 6 8]
[-1. -0.25 0.5 1.25 2. ]
[[1 0 0]
[2 2 2]]
np.random.rand()
功能:
通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[ 0,1) ,不包括1。
import numpy as np
np.random.rand()
out:
0.16880451263284335
np.random.rand(1)
out:
array([0.92510011])
np.random.rand(2)
out:
array([0.65141413, 0.34811697])
np.random.rand(3,3)
out:
array([[3.74508553e-01, 7.40006368e-01, 4.99471757e-04],
[7.43148068e-01, 6.30322904e-01, 1.21286764e-01],
[9.10947156e-01, 1.91997108e-01, 5.19389015e-01]])
np.random.rand(4,2)
out:
array([[0.26915483, 0.86108759],
[0.95187795, 0.27449762],
[0.37060738, 0.36578349],
[0.15001688, 0.13527269]])
np.random.randn()
功能:通过本函数可以返回一个或一组服从标准正态分布的随机样本值。
语法:
np.random.randn(d0,d1,d2……dn)
1)当函数括号内没有参数时,则返回一个浮点数;
2)当函数括号内有一个参数时,则返回秩为1的数组,不能表示向量和矩阵;
3)当函数括号内有两个及以上参数时,则返回对应维度的数组,能表示向量或矩阵;
4)np.random.standard_normal()函数与np.random.randn()类似,但是np.random.standard_normal()
的输入参数为元组(tuple).
5)np.random.randn()的输入通常为整数,但是如果为浮点数,则会自动直接截断转换为整数。
特点:
标准正态分布是以0为均数、以1为标准差的正态分布,记为N(0,1)。对应的正态分布曲线如下所示,即
标准正态分布曲线下面积分布规律是:
在-1.96~+1.96范围内曲线下的面积等于0.9500(即取值在这个范围的概率为95%),在-2.58~+2.58范围内曲线下面积为0.9900(即取值在这个范围的概率为99%). 因此,由 np.random.randn()函数所产生的随机样本基本上取值主要在-1.96~+1.96之间,当然也不排除存在较大值的情形,只是概率较小而已。
numpy.around(a, decimals=0, out=None)
参数解析:
a为输入列表或矩阵;
decimals为n对输入近似后保留小数点后n位,默认为0,若值为-n,则对小数点左边第n位近似;
out为可选参数,一般不用,用于保存近似返回结果。
举例:
>>> np.around([0.37, 1.64])
array([ 0., 2.])
>>> np.around([0.37, 1.64], decimals=1)
array([ 0.4, 1.6])
>>> np.around([.5, 1.5, 2.5, 3.5, 4.5]) # rounds to nearest even value
array([ 0., 2., 2., 4., 4.])
>>> np.around([1,2,3,11], decimals=1) # ndarray of ints is returned
array([ 1, 2, 3, 11])
>>> np.around([1,2,3,11], decimals=-1)
array([ 0, 0, 0, 10])
numpy中的切片操作:
通过冒号分隔切片参数 start:stop:step 来进行切片操作:
形如:
b = a[2:7:2] # 从索引 2 开始到索引 7 停止,间隔为 2
冒号 :
的解释:如果只放置一个参数,如 [2],将返回与该索引相对应的单个元素。如果为 [2:],表示从该索引开始以后的所有项都将被提取。如果使用了两个参数,如 [2:7],那么则提取两个索引(不包括停止索引)之间的项。
一维数组:
举例:
>>>import numpy as np
>>>a = np.array([1,2,3,4,5,6,7,8])
1.只有一个参数
>>> a[1] #具体的元素 2
2
>>> a[1:] #冒号前面是起,后面是止,冒号前面空,指最小0,后面放空就是到最后,这里是一维数组
array([2, 3, 4, 5, 6, 7, 8])
对比(**):
>>> a[7:]
array([8])
>>> a[7]
8
2.两个参数
>>> print(a[1:3]) #从索引1开始,也就是第二个元素2,到索引3,不包括索引3
[2 3]
3.三个参数
>>> print(a[1:7:2]) #从索引1开始,到索引7,不包括索引7,间隔为2
[2 4 6]
二维数组
先定义一个二维数组