1、np.array:把列表转化为数组,也可以说是用来产生数组,列表中的元素不能直接相加减,数组可以。
dtype:默认为None,设置显示元素的数据类型
np.arange([start, ]stop, [step, ]dtype=None):
1)start:起点值;可忽略不写,默认从0开始
2) stop:终点值;生成的元素不包括结束值
3)step:步长;可忽略不写,默认步长为1
4)dtype:默认为None,设置显示元素的数据类型
2、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() 的输入通常为整数,但是如果为浮点数,则会自动直接截断转换为整数。
3、np.where 函数是三元表达式 x if condition else y 的向量化版本,它有两种用法:
1.np.where(condition,x,y) 当where内有三个参数时,第一个参数表示条件,
当条件成立时where方法返回x,当条件不成立时where返回y
2.np.where(condition) 当where内只有一个参数时,
那个参数表示条件,当条件成立时,where返回的是每个符合condition条件元素的坐标,返回的是以元组的形式
4、numpy.sum(a, axis=None, dtype=None, out=None, keepdims=False)
参数:
a:数组
axis:沿着它计算的轴,如果没有指定,则计算整个数组的总和
dtype:输出数组的数据类型
out:输出数组
keepdims:如果为True,则保留输入数组的形状,否则将其降维
5、numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>):数组间的乘积运算
a 输入arrays数组 一个形状为但已删除指定轴的数组。如果指定,返回对out的引用。
axis 可选,指定求积的维度。默认值axis=None将计算输入数组中所有元素的乘积。如果轴为负数,则从最后一个轴计算到第一个轴。
dtype 可选,返回数组的类型,以及相乘元素的累加器的类型。
out ndarray,可选。用于放置结果的可选输出数组。它必须具有与预期输出相同的形状,但是输出值的类型将在必要时进行转换。
keepdims 可选,保持维度,不缩减
initial 可选,起始数,即返回的矩阵会在元素乘积上再乘起始数
where array_like of bool, optional
6、np.clip()是一个截取函数,用于截取数组中小于或者大于某值的部分,并使得被截取部分等于固定值。
np.clip(a, a_min, a_max, out=None):
a:输入矩阵;
a_min:被限定的最小值,所有比a_min小的数都会强制变为a_min;
a_max:被限定的最大值,所有比a_max大的数都会强制变为a_max;
out:可以指定输出矩阵的对象,shape与a相同
7、np.round()取整的功能
np.round() 是对浮点数取整的一个函数,一般的形式为 np.round(a, b),
其中a为待取整的浮点数,b为保留的小数点的位数
8、np.dot()函数⽤法:向量点积和矩阵乘
格式:x.dot(y) 等价于 np.dot(x,y) ———x是m × n 矩阵 ,y是n×m矩阵,则x.dot(y) 得到m×m矩阵。
如果处理的是⼀维数组,则得到的是两数组的內积。
如果是⼆维数组(矩阵)之间的运算,则得到的是矩阵积
np.dot(x, y), 当x为⼆维矩阵,y为⼀维向量,这时y会转换⼀维矩阵进⾏计算
np.dot(x, y)中,x、y都是⼆维矩阵,进⾏矩阵积计算
np.dot(x, y)两个⼆维矩阵满⾜第⼀个矩阵的列数与第⼆个矩阵的⾏数相同,那么可以进⾏矩阵的乘法,即矩阵积
9、np.sort(a,axis=-1)函数的作用是对给定的数组的元素进行排序
a:需要排序的数组
axis:指定按什么排序,默认axis = -1 按行排序, axis = 0 按列排序
10、np.argsort(a, axis=-1, kind='quicksort', order=None)
函数功能:将a中的元素从小到大排列,提取其在排列前对应的index(索引)输出。
将索引给输出,而不是值
11、np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
在间隔start和stop之间返回num个均匀间隔的数据。
start: array_like
序列的起始值
stop: array_like
序列的结束值
num: int, optional
要生成的样本数,默认值为50,必须为非负数
endpoint: bool, optional
如果为True,则包含stop
如果为False,则不包含stop
retstep: bool, optional
如果为True,返回('samples', 'step'),其中step是samples之间的间隔
dtype: dtype, optional
输出数组的类型
如果没有给出,将通过start和stop进行推断
永远不会推断为int,即使给定的参数会生成整数数组,也将被推断成float
12、np.searchsorted(a,v)
a:原数组。v:插入数组
这个方法应该是找出某个元素放在哪个位置上才能保持原有的排列顺序:
```python
e = np.array([1,2,3,5])
f = np.searchsorted(e, 4)
```
实际上f=3,
意思是4插入到index==3(即元素5)的位置左边,插入后4在新数组里的索引是3,可以保持原有的排列顺序
返回插入后数组后的新数组索引值
13、np.lexsort() 函数的定义如下:
比如初始总成绩数组为:[99, 100, 98, 95, 80] ,
升序排序后的数组为:[80, 95, 98, 99, 100],
对应的索引为:[4, 3, 2, 0, 1],
这个索引数组就是 lexsort 函数的返回值。
14、np.newaxis 的功能是增加新的维度,但是要注意 np.newaxis 放的位置不同,产生的矩阵形状也不同。
np.newaxis 放在哪个位置,就会给哪个位置增加维度
x[:, np.newaxis] ,放在后面,会给列上增加维度
x[np.newaxis, :] ,放在前面,会给行上增加维度
15、numpy.squeeze(a,axis = None)
np.squeeze()函数可以删除数组形状中的单维度条目,即把shape中为1的维度去掉,但是对非单维的维度不起作用。
1)a表示输入的数组;
2)axis用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错;
3)axis的取值可为None 或 int 或 tuple of ints, 可选。若axis为空,则删除所有单维度的条目;
4)返回值:数组
5) 不会修改原数组;
16、numpy.transpose ()用于高维数组映射坐标轴
二维数组执行transpose(1,0)相当于执行矩阵的转置
三维数组的transpose()操作,例:原来有个2*3*4的三维数组(需了解轴的概念)
transpose(1,0,2)中的数字1,0,2表示这个结构为2*3*4的三维数组的轴1,轴0与轴2。
transpose(1,0,2)表示将轴0与轴1交换位置(如下图所示,交换后出现了两个轴0)。
轴1与轴0交换位置后,三维数组的结构也会从2*3*4变为3*2*4。