标题:
Numpy 模块基础学习(2)
[打印本页]
作者:
look_w
时间:
2019-2-19 16:22
标题:
Numpy 模块基础学习(2)
3. Numpy基础运算
基本运算加减乘除,幂运算以及矩阵运算
>>>import numpy as np
>>>a=np.arange(10,41,10) # 创建数组array([10, 20, 30, 40])
>>>b=np.arange(4) # 创建数组 array([0, 1, 2, 3])
>>>a-b #a,b 数组行列数相同,做减法运算
array([10, 19, 28, 37])
>>>a+b
array([10, 21, 32, 43])
>>>a*b
array([ 0, 20, 60, 120])
>>>a**b #以b数组中元素作为a数组中相应元素的幂做运算
array([ 1, 20, 900, 64000])
>>>a**2 # 简单的幂运算
array([ 100, 400, 900, 1600])
>>>np.sin(a)
array([-0.54402111, 0.91294525, -0.98803162, 0.74511316]) # 三角函数运算
>>>a<20 #对数组中的值进行逻辑判断,返回一个bool值数组
array([ True, False, False, False], dtype=bool)
>>>
# 矩阵乘法dot
>>>np.dot(a,b) #简单一维矩阵乘法
200
>>>d=np.arange(1,7).reshape(2,3)
>>>e=np.arange(2,8).reshape(3,2)
>>>np.dot(d,e) #多维矩阵相乘
array([[28, 34],
[64, 79]])
# *表示矩阵点乘,如A*B表示A点乘B矩阵
数组一些其他常用方法sum(),min(),max()
>>>import numpy as np
>>>a=np.random.random((2,4)) #生成1以内的随机数并创建2行4列的数组
>>>a
array([[ 0.67865178, 0.82898517, 0.19739667, 0.54224819],
[ 0.74727939, 0.33392007, 0.32268768, 0.81595398]])
>>>np.sum(a)
4.4671229255139142
>>>np.min(a)
0.19739667308187692
>>>np.max(a)
0.82898516901089903
>>>
# 如果仅需要对列或者行进行上述操作,可以加入axis参数,
# axis=0表示对行进行操作,axis=1表示对列进行操作
>>>np.sum(a,axis=1)
array([ 2.24728181, 2.21984112])
另一些常用方法
argmin() #寻找数组中最小值的索引,支持axis参数
argmax() #寻找数组中最大值的索引,支持axis参数
mean() #求平均值
average() #也是求平均值
median() #求中位数. [1,4,5,6]中位数是4.5,平均值是4
cumsum() #累加,[1,2,3,4]结果为[1,3,6,10]
diff() #类似累差,如[1,4,5,6]结果为[3,1,1]
nonezero # 返回非零元素的坐标
sort() #排序,同样也支持axis
transpose() #转置,array.T也可以达到相同的效果
clip(array,array_min,array_max) #将矩阵中比array_min小的元素变成array_min,将矩阵中比array_max大的元素变成array_max
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0