Numpy使用记录

np.where(condition,x,y)若x,y是值,那么就是condition正确,数组的值变为x若不正确则数值变为y

np.where(condition) 返回满足条件的值的x,y值。

np.amin(shuzu,0/1)一维数组找最小值,二维数组需要指定行或列,1是找行最小的,0是找列最小的。

np.amax()与np.amin相反找的是最大的值

np.concatenate((a,b),axis)对数组进行拼接。axis为0是按行拼接,为1是按列拼接。没有声明就是在a的基础上进行拼接。

T=np.array([[3,4,1,1],[5,6,1,1]])

Q=np.array([7,8]).reshape((2,1))

print(T*Q)

[[21 28  7  7]
 [40 48  8  8]]

数组的相乘是和相加是行对行的,

T=np.matrix([[3,4,1,1],[5,6,1,1]])
Q=np.matrix([7,8])
# T=np.array([[3,4,1,1],[5,6,1,1]])
# Q=np.array([7,8]).reshape((2,1))

print(T*Q)  会报错,因为matrix为矩阵相乘,必须满足矩阵相乘的规则,


T=np.matrix([[3,4],[5,6]])
Q=np.matrix([7,8]).reshape(2,1)
#Q=np.matrix([7,8]).T
print(T*Q)
[[53]
 [83]]

np.divide相当于两个数组相除,是整除,不带小数

test=np.array([[2,2,6],[4,5,6]])   这里是两行三列,可以除以两行一列,两行三列,一行三列。

mn=np.matrix([2,1]).T

test/mn=np.divide(test,mn)结果为

[[1 1 3]
 [2 2 3]]

np.true_divide(test,mn)是除,带小数结果为
[[1.  1.  3. ]
 [2.  2.5 3. ]]

[U,S,V]np.linalg.svd(A)是奇异值分解,对矩阵A得到三个矩阵,分别为左奇异值,奇异值和右奇异值。

A是m*n  U是m*n S是对角线矩阵(除了对角线其他都是0)可以是一维的  V是n×n的矩阵 

np.prod()函数用来计算所有元素的乘积,对于有多个维度的数组可以指定轴,如axis=1指定计算每一行的乘积。

np.prod(2,4)为8
np.prod([[2,4],[1,3]])为24
np.prod([[2,4],[1,3]],axis=1)为[8,3]
np.prod([[2,4],[1,3]],axis=0)为[2,12]


np.maximum:(X, Y, out=None) 

X 与 Y 逐位比较取其大者;

最少接收两个参数

np.maximum([2,1],[1,3])为[2,3]

 

np.linalg.eig()和np.linalg.eigh()
用来求解特征分解,其中eig()主要是用来求解方阵,而eigh()是用来求解对称阵,可见numpy中对于对称阵的求解是有独特的一套方法。
并且eigh()得到的特征值有严格的升序排列的。

np.diag()
受输入影响,输出的结果不同。
当输入的是一维数组,结果是以该一位数组为对角线的矩阵。
当输入的是二维数组,结果是输出该矩阵的对角线元素的一维数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值