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

 


 
posted on 2018-02-28 21:37  旺仔牛轧糖  阅读(179)  评论(0编辑  收藏  举报