----------------------------持续更新ing------------------------------------------
安装
终端输入
pip3 install numpy
导入
import numpy as np
重要函数
np.mean(array,axis=)
其中参数axis,以m * n矩阵举例:
axis 不设置值,对 m*n 个数求均值,返回一个实数
axis = 0:压缩行,对各列求均值,返回 1* n 矩阵
axis =1 :压缩列,对各行求均值,返回 m *1 矩阵
>>> now2
matrix([[1, 2, 3],
[2, 3, 4],
[3, 4, 5],
[4, 5, 6]])
>>> np.mean(now2) # 对所有元素求均值
3.5
>>> np.mean(now2,0) # 压缩行,对各列求均值
matrix([[ 2.5, 3.5, 4.5]])
>>> np.mean(now2,1) # 压缩列,对各行求均值
matrix([[ 2.],
[ 3.],
[ 4.],
[ 5.]])
np.hstack(array)
参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组
这个函数比较难以用文字说明他的作用,就直接看个示例把
>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[2],[3],[4]])
>>> np.hstack((a,b))
array([[1, 2],
[2, 3],
[3, 4]])
笼统地说就是把每个矩阵对应列合并
np.random.randn()
该函数从标准正态分布中返回一个或多个样本值
参数就是生成矩阵的shape,注意在不需要括号
即randn(2,3)就是生成一个2行3列的numpy.array
np.arange([start,] stop[, step,], dtype=None)
生成一个ndarray
start开始数字,stop结束数字,左闭右开,step为步长
>>> 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])
np.random.choice(a=5, size=3, replace=False, p=None)
该函数是从a 中以概率P,随机选择size个, p没有指定的时候相当于是一致的分布
replace 参数如果设置为True,则生成的数中有一样的,可以理解为有放回的
看一个当p!=None的时候的例子
a2 = np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])
np.random.rand(shape)
rand(d0,d1,.....,dn)产生[0,1]的浮点随机数,括号里面的参数可以指定产生数组的形状
>>> numpy.random.rand(2,2)
array([[0.96630975, 0.47834647],
[0.65831495, 0.38897275]])
np.argmin(a,axis=) ornp.argmax(a,axis=)
该函数是返回矩阵的最值的索引, 参数a就是矩阵,axis的意义与之前的max,sum等函数的axis意义相同,压缩列或者压缩行
返回一个ndarray
看几个例子
>>> a = np.array([[1,5,2],[2,7,8]])
>>> c= np.argmin(a,axis=0)
>>> c
array([0, 0, 0])
>>> c= np.argmax(a,axis=1)
>>> c
array([1, 2])
>>> c= np.argmax(a)
>>> c
5
np.reshape(a,(2,2))
这个函数用来对改变矩阵的shape,常用参数两个,
a就是你要改变的那个矩阵 ,
(2,2)是一个元组,代表新矩阵的shape
该函数返回一个ndarray,但是要注意:原矩阵不变,与不可变类型很像,直接看代码
>>> a= numpy.array([1,2,3,4])
>>> numpy.reshape(a,(2,2))
array([[1, 2],
[3, 4]])
>>> a
array([1, 2, 3, 4])
numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<class 'numpy._globals._NoValue'>)
numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<class 'numpy._globals._NoValue'>)
返回给定轴上的数组元素的乘积。
>>> a=np.prod(np.array([[1,2],[3,4]]),axis=1)
>>> a
array([ 2, 12])
>>> a=np.prod(np.array([[1,2],[3,4]]),axis=0)
>>> a
array([3, 8])