看[莫烦]的视频整理的学习笔记
numpy作为python一个外部输入的模块,用于处理数据,他的写法有点像python里的list,但是list中可以存入不同类型的数据,是因为list不仅存数,还存地址,但是numpy中的array中只存同类型的数,处理更快。
np.array#建立矩阵,与list不同在输出无逗号分隔
a.ndim #维度
a.shape#形状
a.size #有几个数
import numpy as np
a = np.array([[1,2,3],
[2,3,4]])
print(a)
print('number of dim:',a.ndim) #维度
print('shape:',a.shape) #形状
print('size:',a.size) #有几个数
需要注意zeros((x,y)) 两个括号
import numpy as np
a = np.zeros((3,4))
print(a)
import numpy as np
a = np.ones((3,4))
print(a)
矩中的每个数不是0,但是非常接近0
import numpy as np
a = np.empty((3,4))
print(a)
单括号,然后可以通过reshape函数赋予形状
#arange(起点,终点,步长)
import numpy as np
a = np.arange(12).reshape((3,4))
print(a)
其中段数是自己均分的,当然也可以再更改形状
#linspacce(起点,终点,段数)
import numpy as np
a = np.linspace(0,10,5)
print(a)
首先先定义两个矩阵在前面
import numpy as np
a = np.array([10,20,30,40])
b = np.arange(4)
print(a,b)
print(a-b)
print(a+b)
print(a*b) #逐个相乘
print(a.dot(b))#矩阵相乘 或者写np.dot(a,b)
这是python中的次方运算,与其他语言有所区别
eg:a的平方------a**2
c = np.sin(a) // np.cos(a)
print(a)
print(a<25)
#返回的是布尔值
c = np.random.random((3,4))
print(c)
print(a.sun()) #或 np.sum(a)
print(a.min())
print(a.max())
还可以但对针对列或者行求sum、min、max
print(np.sun(a,axis=1)) #axis=1/0,1:行,0:列
import numpy as np
A = np.arange(12).reshape((3,4))
print(A)
print(np.argmin(A)) #或print(A.argmin()) 最小值
#最大值argmax
#中位数median
import numpy as np
A = np.arange(12).reshape((3, 4))
print(A)
print(A.mean()) #或 print(np.average(A))
A = np.arange(12).reshape((3, 4))
print(np.cumsum(A))
import numpy as np
A = np.arange(12).reshape((3, 4))
print(A)
print(np.diff(A))
import numpy as np
A = np.arange(12).reshape((3, 4))
print(A)
print(np.nonzero(A))
输出结果如上,因为它的输出是非零数所在的行列位置
第一个红色框部分即代表行位置,蓝色框代表列位置,所以推出第一个非零数在(0,1)
import numpy as np
A = np.arange(14,2,-1).reshape((3, 4))
print(A)
print(np.sort(A))
用于矩阵的相乘运算中。
或者是用到A.T ----- A的转置
clip(矩阵,所有小于x的都等于x,所有大于y的都等于y)
具体说明:
clip(A,5,9)
意思是:将矩阵A中小于5的数都变为5,所有大于9的数变为9,其他数保持不变
import numpy as np
A = np.arange(12).reshape((3, 4))
print(A)
print(np.clip(A, 5, 9))