内容部分引用于《利用Python进行数据分析》第2版(Wes McKinney著,徐敬一译)、慕课网上的课程内容笔记以及我个人总结笔记,仅供大家一起学习交流
数组与向量化计算
numpy的核心特征之一就是N-维数组对象——ndarray
导入numpy
import numpy as np生成随机数
print(np.random.rand(2, 4)) # 输出2行4列的随机数组 print(np.random.rand()) # 生成一个随机数 print(np.random.randint(1, 14, 5)) # 在1到14之间生成5个随机数 print(np.random.randn(2,4))#标准正态分布随机数 print(np.random.choice([10,20,30]))#从中选择随机数 print(np.random.beta(1,10,100))#从1到10随机生成100个beta分布每一个数组都有shape属性,用来表征数组每一维度的数量
lst=[[1,3,5],[2,4,6]] np_lst=np.array(lst)#生成ndarray print(np_lst.shape)每一个数组都有一个dtype属性,用来描述数组的数据类型
print(np_lst.dtype)除了np.array,还有其他函数创建新数组
print(np.zeros([2, 4])) # 输出元素都为0的2行4列数组 print(np.ones([3, 5])) # 输出元素都为1 的2行4列数组数组相关操作示例
print(np.arange(1,11))#从1开始,不包括11,等差 print(np.arange(1, 11).reshape([2,5]))#2行5列 list = (np.arange(1, 11)).reshape([2, 5]) # 变成两行五列数组 print(np.exp(list)) # list 的自然指数 print(np.exp2(list)) # list 的自然指数的平方 print(np.sqrt(list)) # list 的开方 print(np.square(list)) # list 的平方 print(np.sin(list)) # list 的正弦值 print(np.log(list)) # list 的对数值 #引用网上学习笔记,侵删 list = np.array([[[1, 2, 3, 4], [4, 5, 6, 7, ]], [[7, 8, 9, 10], [11, 12, 13, 14]], [[15, 16, 17, 18], [19, 20, 21, 22]] ]) #axis取值跟维数有关,维数从 0 开始算起,axis值越大,深入的程度越深 print (list.sum(axis=0))# axis表示维度,sxis=0,表示最外层的元素相加 print (list.sum(axis=1))# 表示最外层减一层的元素相加 print (list.max(axis=0)) # 最外层元素中的最大元素值 print (list.min(axis=0)) # 最外层元素中的最小元素值 list1 = np.array([10, 20, 30, 40]) list2 = np.array([4, 3, 2, 1]) print(list1 + list2) # 对两个list中的元素相加,ps:不是将一个数组中的元素放在另一个后面 print (list1-list2) # 对两个list中的元素相减 print (list1**2) # 对两个list中的元素平方 print (list1/list2)# 对两个list中的元素相除 print (list1.reshape([2, 2])) print (list2.reshape([2, 2])) print (np.dot(list1.reshape([2, 2]), list2.reshape([2, 2]))) # 数组点乘 print(np.concatenate((list1,list2),axis = 0)) #将两个数组相连,即list2添加到list1中,传的是tup元组 print(np.vstack((list1,list2)))# Vertical 垂直,即纵向连接 print(np.hstack((list1,list2)))#Horizontal 水平,即横向连接 print(np.split(list1,4))#分割成4段 print(np.eye(3))#线性矩阵,单位矩阵 lst = np.array([[1, 2], [3, 4]]) print("Inv:") print(inv(lst)) # 矩阵的逆 print("T:") print(lst.transpose()) # 转置矩阵 print("Det:") print(det(lst)) # 行列式 print(eig(lst)) # 特征值和特征向量,一个元组,两个array y = np.array([[5], [7]]) print("Solve") print(solve(lst, y)) # 解方程组 x+2y=5; 3x+4y=7 # numpy的其他操作 print("FFT:") print(np.fft.fft(np.array([1, 1, 1, 1, 1, 1, 1, 1]))) # 阶跃响应 print('Coef:') print(np.corrcoef([1, 0, 1], [0, 2, 1])) # 皮尔逊相关系数计算 print('Poly:') print(np.poly1d([3, 1, 3])) # 生成一元多次函数 print(np.corrcoef([1, 0, 1], [0, 2, 0])) # 打印相关系数 print(np.poly1d([2, 1, 3])) # 生成一元多次函数 2x**2 + 1x + 3 ,他生成一元二次函数内容部分引用于《利用Python进行数据分析》第2版(Wes McKinney著,徐敬一译)、慕课网上的课程内容笔记以及我个人总结笔记,仅供大家一起学习交流
如有错误,请多指教,笔记会持续更新的~ 谢谢大家!