Numpy常见函数

目录

np.linspace 

np.tanh 

np.random.normal

np.mean 

np.var 

np.meshgrid

 np.c_[x,y] 

 np.r_[x,y] 

np.eye 

扫描二维码关注公众号,回复: 13467819 查看本文章

 np.unravel_index


np.linspace 

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)  

作用:创建等差数列

参数含义:

start:返回样本数据开始点
stop:返回样本数据结束点
num:生成的样本数据量,默认为50
endpoint:True则包含stop;False则不包含stop
retstep:If True, return (samples, step), where step is the spacing between samples.(即如果为True则结果会给出数据间隔)
dtype:输出数组类型
axis:0(默认)或-1

例子:

>>> np.linspace(2.0, 3.0, num=5, retstep=True)
(array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ]), 0.25)

np.tanh 

np.tanh(array[, out] )

作用:此函数用于计算作为参数传递的数组的所有元素的双曲正切。

参数含义:

array:要计算切线值(以弧度为单位)的数组元素。
out:输出数组的形状。

例子:

arr = linspace(-pi, pi, 12)
print("Input Array:", arr)
print("tanh Array:", end=" ")
tanharr = tanh(arr[:])
print(tanharr)
plt.plot(arr, tanharr, color='red', marker="o")
plt.title("np.tanh()")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

np.random.normal

np.random.normal(loc=0,scale=1e-2,size=shape)

作用:生成一组正态分布数据

参数含义:

loc(float):正态分布的均值,对应着这个分布的中心。loc=0说明这一个以Y轴为对称轴的正态分布,
scale(float):正态分布的标准差,对应分布的宽度,scale越大,正态分布的曲线越矮胖,scale越小,曲线越高瘦。
size(int 或者整数元组):输出的值赋在shape里,默认为None。

例子:

>>> x = np.random.normal(0.5, 0.00001, 100)
[0.49999192 0.50000724 0.49997794 0.5000065  0.49999828 0.49998916
 0.49999894 0.50000227 0.49999597 0.49999365 0.50001338 0.4999885
 0.49999191 0.49999103 0.50001774 0.50000977 0.50000978 0.49998937
 0.50002237 0.49999363 0.50001653 0.50000652 0.5000083  0.5000002
 0.49999263 0.49999538 0.49999059 0.49997371 0.50000666 0.4999929
 0.49999124 0.49999093 0.4999964  0.50000637 0.50001989 0.50000409
 0.5000178  0.49999521 0.49999689 0.49999555 0.50001615 0.50000303
 0.49999108 0.49999638 0.4999987  0.49998558 0.50000166 0.49999671
 0.50001053 0.4999994  0.50000078 0.50000775 0.50001079 0.49999797
 0.49999652 0.49999326 0.49999893 0.49999543 0.49998934 0.49999816
 0.50000072 0.50000564 0.49999696 0.50000262 0.50001097 0.50000289
 0.50001859 0.50000312 0.49999095 0.49999149 0.50001872 0.49999414
 0.50001174 0.50001238 0.49999058 0.49998587 0.49999314 0.50000719
 0.50001885 0.50000705 0.50000137 0.5000064  0.49999657 0.49998934
 0.49999669 0.49999334 0.49999646 0.49999646 0.5000063  0.49998559
 0.50000665 0.5000031  0.500011   0.50002192 0.50000002 0.49999513
 0.49999765 0.49999272 0.50000018 0.49999115]

np.mean 

np.mean(a, axis, dtype, out,keepdims )

作用:求numpy数组的平均数

参数含义:

a: 必须是数组
axis:
axis不设置值,对m*n个数求平均值,返回一个实数
axis = 0:压缩行,对各列求均值,返回1*n的矩阵
axis = 1: 压缩列,对各行求均值,返回m*1的矩阵
dtype=None:类型
out=None:若不为None 则为均值引用
keepdims:如果将其设置为 True,则减少的轴将作为尺寸为 1 的维度保留在结果中。使用此选项,结果将针对输入数组正确广播。

例子:

>>> x = np.random.normal(0.5, 0.00001, 100)
>>> print(x.mean())
0.5000016611857131

np.var 

np.var(a, axis=None, dtype=None, out=None, ddof=0, keepdims=np._NoValue)

作用:求numpy数组的方差

参数含义:

a: 必须是数组
axis:
axis不设置值,对m*n个数求平均值,返回一个实数
axis = 0:压缩行,对各列求均值,返回1*n的矩阵
axis = 1: 压缩列,对各行求均值,返回m*1的矩阵
dtype=None:类型
ddof:“Delta自由度”:计算中使用的除数为 ,其中表示元素数。默认情况下ddof为零。
out=None:若不为None 则为均值引用
keepdims:如果将其设置为 True,则减少的轴将作为尺寸为 1 的维度保留在结果中。使用此选项,结果将针对输入数组正确广播。

例子:

 >>> x = np.random.normal(0.5, 0.00001, 100)
 >>> print(x.var())
9.249828383507259e-11

np.meshgrid

np.meshgrid(x,y)

作用:快速生成网格点矩阵

参数含义:

x:纵列
y:横列

详细学习链接

例子:

 >>> x = array([1, 2, 3])
 >>> y = array([0, 1, 1])
 >>> X, Y = meshgrid(x, y)
 >>> print(X)
 >>> print(Y)
[[1 2 3]
 [1 2 3]
 [1 2 3]]
[[0 0 0]
 [1 1 1]
 [1 1 1]]

 np.c_[x,y] 

 np.c_[x,y]

作用:连接x,y矩阵的列,左右相连
前提:x,y列元素数目相同数相同

参数含义:

x:矩阵x
y:矩阵y

例子:

>>> x = np.array([[1,2],[3,4],[2,5]])
>>> y = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> X = np.c_[x,y]
>>> print(X)
[[1 2 3]
 [1 2 3]
 [1 2 3]]
[[0 0 0]
 [1 1 1]
 [1 1 1]]

 np.r_[x,y] 

 np.r_[x,y]

作用:连接x,y矩阵的行,上下相连
前提:x,y每行元素数目相同

参数含义:

x:矩阵x
y:矩阵y

例子: 

>>> x = np.array([[1,2,3],[3,4,5]])
>>> y = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> X = np.r_[x,y]
>>> print(X)
[[1 2 3]
 [3 4 5]
 [1 2 3]
 [4 5 6]
 [7 8 9]]

np.eye 

  np.eye(N,M=None,k=0,dtype=<class 'float'>,order='C)

作用:生成对角阵外,还可以将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组。

参数含义:

N:int型,表示的是输出的行数

M:int型,可选项,输出的列数,如果没有就默认为N

k:int型,可选项,对角线的下标,默认为0表示的是主对角线,负数表示的是低对角,正数表示的是高对角。

dtype:数据的类型,可选项,返回的数据的数据类型

order:{‘C’,‘F'},可选项,也就是输出的数组的形式是按照C语言的行优先’C',还是按照Fortran形式的列优先‘F'存储在内存中

例子:

>>> print(np.eye(4))
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
>>> print(np.eye(4,k=1))
[[0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]
 [0. 0. 0. 0.]]

 np.unravel_index

 np.unravel_index(indices, dims)

作用:在多维矩阵中,找到元素的位置。

参数含义:

indices:寻找的元素值
dims:需要寻找的矩阵

例子:

>>> print(np.eye(4))
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
>>> print(np.eye(4,k=1))
[[0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]
 [0. 0. 0. 0.]]

猜你喜欢

转载自blog.csdn.net/GeniusLS/article/details/120252111
今日推荐