Python3--我的代码库之numpy(二)

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行
    1. np.sum() 求和
    2. np.max()求最大值
    3. np.min()求最小值
    4. np.sum(a,axis = 0)求每一列下的和
    5. 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 ]])

猜你喜欢

转载自blog.csdn.net/c_air_c/article/details/81080988