numpy
1.ndarray
创建numpy数组 :
lst=[[1,2,3],[4,5,6]]
np_lst=np.array(lst)
shape 形状
ndim 维度
dtype 类型
itemsize 一个元素所占的字节数
size 大小(有几个元素)
2.numpy常用Array
np.zeros([2, 4])#输出元素都为0的2行4列数组
np.ones([3, 5])#输出元素都为1 的2行4列数组
随机数:
np.random.rand(2, 4)#输出2行4列的随机数组
np.random.rand()#生成一个随机数
np.random.randint(1, 14, 5)#在1到14之间生成5个随机数
np.random.randn(2, 4)#输出2行4列标准正态分布随机数
np.random.choice([10.20, 41])#在列表中的数随机选取一个
np.random.beta(1,10, 100)#生成一个1-10共100个beta数组
3.numpy常用操作
list = (np.arange(1, 11)) #产生一个1-11(不含11)的等差数列
list = (np.arange(1, 11)).reshape([2, 5]) # 变成两行五列数组
np.exp(list) # list 的自然指数
np.exp2(list) # list 的自然指数的平方
np.sqrt(list)# list 的开方
np.square(list)# list 的平方
np.sin(list)# list 的正弦值
np.log(list)# list 的对数值,e为底
lst=np.array([[[1,2,3,4], [4,5,6,7]], [[7,8,9,10], [10,11,12,13]], [[14,15,16,17], [18,19,20,21]] ])
lst.sum(axis=2)#根据axis,在不同维度进行求和
lst.min(axis=0)
list1=np.array([10,20,30,40])
list2=np.array([4,3,2,1])
np.dot(list1,list2)#不同数组进行点乘
list1.reshape([2,2 ])#数组重组
np.vstack((list1,list2))#将两个数组分成两行组成一个数组也就是以行连接,注意传的是个tuple
np.hstack((list1,list2))#将两个数组相连组成一个一维数组,传的是tuple
np.split(list1,n)#将数组 list1 切分成n个子数组
np.copy(list1)#对数组进行拷贝
4.矩阵操作与线性方程组
from numpy.linalg import *
np.eye(3) #一个3行3列的单位矩阵
list = np.array(([1, 2], [3, 4]))
inv(list))#逆矩阵
list.transpose()# 转置矩阵
det(list)#求行列式(算的是行列式的值)
eig(list) #特征值和特征向量
y = np.array(([5.], [7.]))
solve(list, y) #求list与y组成的二元一次方程组{x+2y=5 3x+4y=7}的解
np.fft.fft(np.array([1,1,1,1,1,1,1,]))#FFT
np.corrcoef([1, 0, 1],[0, 2, 1]) # 计算皮尔逊相关系数计算
np.poly1d([2,1,3]) # 生成一元多次函数2x**2 + 1x + 3