Numpy运算
import numpy as np
a_vec = np.array([10,20,30,40])
b_vec = np.arange(4)
array([10, 20, 30, 40])
array([0, 1, 2, 3])
sum_a_b = a_vec + b_vec
array([10, 21, 32, 43]) #加、减、乘、除法的操作相同,对应数值操作
a_e = a_vec**2 #各阶次方
array([ 100, 400, 900, 1600])
a_vec > 20 #查看数组中大于20的,返回布尔数组
array([False, False, True, True])
a_vec[a_vec > 20] #返回所有数值大于20的值
array([30, 40])
a2 = a_vec.reshape((2,2))
b2 = b_vec.reshape((2,2))
array([[10, 20],
[30, 40]])array([[0, 1],
[2, 3]])
c = a2*b2
array([[ 0, 20],
[ 60, 120]])
c = a2.dot(b2) #线性代数意义上的矩阵相乘,np.dot(a2,b2)
array([[ 40, 70],
[ 80, 150]])
a = np.random.random((2,4)) #.random生成(0,1)之间的随机数
array([[0.71904349, 0.13793547, 0.28409386, 0.09654488],
[0.29833488, 0.95198873, 0.13985198, 0.17524435]])
axis
=0列、=1行
np.sum()
求和np.max()
求最大值np.min()
求最小值np.sum(a,axis = 0)
求每一列下的和np.sum(a,axis = 1)
求每一行下的和
1. 查找矩阵中的最大、最小值的索引[0,len-1]
np.argmin(a) # np.argmax(a)
2. 输出平均值, axis
=0列平均、=1行平均
np.mean(a)
3. 中位数
np.median(a)
4. 斐波那契式累加cumsum
;累减diff
列数减一
np.cumsum(a)
5. 转置np.transpose(a)
a.T
6. 迷之操作
np.clip(a,0.2,0.5) #所有小于0.2的都变成0.2,所有大于0.5的都变成0.5
array([[0.5 , 0.2 , 0.28409386, 0.2 ],
[0.29833488, 0.5 , 0.2 , 0.2 ]])