numpy中遇到过不懂得函数记录
np创建数组
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列的随机整数
np.zeros(())注意二维的需要写上两个小括号
arange和linspace的意义
import numpy as np
np.arange(0,5,0.2)#这个函数的意思是从0到5,中间的步长为0.2
np.linsapce(1,10,10)#这个函数表示从1到10,中间会有被分为10份
np.array([[1,2],[3,4],[5,6])#这个函数表示生成数组的创建方法
#生成的数组大概是[[1,2]
# [3,4]
# [5,6]]
#这样什的
对于一个经过np.array()过后的数据集a,shape的意义
#a.shape[0]:输出相应的维度从最外层开始算第一层
#下列可以打印过后进行一个测试
A = np.array([[[ 0.67826139, 0.29380381],
[ 0.90714982, 0.52835647],
[ 0.90714982, 0.52835647],
[ 0.4215251 , 0.45017551]],
[[ 0.92814219, 0.96677647],
[ 0.85304703, 0.52351845],
[ 0.90714982, 0.52835647],
[ 0.19981397, 0.27417313]],
[[ 0.60659855, 0.00533165],
[ 0.10820313, 0.49978937],
[ 0.90714982, 0.52835647],
[ 0.34144279, 0.94630077]]])
A.shape[0]#结果为3
np.tile()用于拉伸数组(还是说叫矩阵,我不太清楚):
import numpy
np.tile([0,1],2)#单个值表示将数组进行一个列向的拉伸
np.tile([0,1],(2,3))#两个值的时候前一个值表示横方向的拉伸,后一个值表示列向的拉伸
大家可以在自己的jupyter notebook上个看一下运行效果
np.argsort
二维数组形式
np.argsort(a,axis=...)#a表示一个数组a,当axis=0,是行的意思,axis=1是列的意思
#这里会输出一个以他们下标值为序的排序方式
np.argsort()[num]的形式
当num>=0时,np.argsort()[num]就可以理解为y[num];
当num<0时,np.argsort()[num]就是把数组y的元素反向输出.
>>>import numpy as np
>>>x=np.array([1,4,3,-1,5,9])
>>>x.argsort()
array([3,0,2,1,4,5)]
>>>x.argsort()[3]
1
>>>x.argsort()[:3]
array([3, 0, 2]
第二段代码摘抄自summer2day