代码里一些方法记录

目录

np.shape()

np.array() 

np.arange(0,7,1,dtype=np.int16)

np.ones((2,3,4),dtype=np.int16)

np.zeros((2,3,4)) 

np.empty((2,3))

np.arange(0,10,2)  

np.linspace(-1,2,5)  

np.random.randint(0,3,(2,3))  

np.random.rand()

np.random.randn()

numpy.around(a, decimals=0, out=None) 

numpy中的切片操作:

np.vstack()

np.hstack()

python中"/"与"//"的区别:

np.linalg.norm

def binaryEncoding(num, size)

zip()

绘画:

argparse.ArgumentParser()用法解析:

python创建有序字典OrderedDict()

os.path.abspath

python路径拼接os.path.join()函数的用法

python中os.path.dirname的用法:

python中的os.path.dirname(__file__)的使用:

快速将argparse的参数倒入到类中的__dict__

np.random.seed()函数:

 torch.manual_seed(int seed)


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]

二维数组

先定义一个二维数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值