当前位置: 首页 > news >正文

建设企业网站首页网页设计与制作课程的思政目标

建设企业网站首页,网页设计与制作课程的思政目标,网站被k,阿里云域名注册步骤四阶#xff1a;机器学习 - 深度学习 第一章 numpy 一、numpy 概述 Numerical Python#xff0c;数值的 Python#xff0c;补充了 Python 语言所欠缺的数值计算能力。 Numpy 是其它数据分析及机器学习库的底层库。 Numpy 完全标准 C 语言实现#xff0c;运行效率充分优…四阶机器学习 - 深度学习 第一章 numpy 一、numpy 概述 Numerical Python数值的 Python补充了 Python 语言所欠缺的数值计算能力。 Numpy 是其它数据分析及机器学习库的底层库。 Numpy 完全标准 C 语言实现运行效率充分优化。 Numpy 开源免费。 1. numpy 历史 1995 年NumericPython 语言数值计算扩充。 2001 年Scipy-Numarray多维数组运算。 2005 年NumericNumarray-Numpy。 2006 年Numpy 脱离 Scipy 成为独立的项目。 2. numpy 的核心多维数组 数值计算 代码简洁减少 Python 代码中的循环。 底层实现厚内核(C)薄接口(Python)保证性能。 二、numpy 基础 ndarray 数组 1. 内存中的 ndarray 对象 元数据metadata 存储对目标数组的描述信息如ndim、dimensions、dtype、data 等。 实际数据 完整的数组数据 将实际数据与元数据分开存放一方面提高了内存空间的使用效率另一方面减少对实际数据的访问频率提高性能。 2. ndarray 数组对象的特点 Numpy 数组是同质数组即所有元素的数据类型必须相同 Numpy 数组的下标从 0 开始最后一个元素的下标为数组长度减 1 3. ndarray 数组对象的创建 np.array(任何可被解释为 Numpy 数组的逻辑结构) import numpy as np a np.array([1, 2, 3, 4, 5, 6]) print(a) # [1 2 3 4 5 6]np.arange(起始值(0),终止值,步长(1)) import numpy as np a np.arange(0, 5, 1) print(a) # [0 1 2 3 4] b np.arange(0, 10, 2) print(b) # [0 2 4 6 8]np.zeros(数组元素个数, dtype‘类型’) import numpy as np a np.zeros(10) print(a) # [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]np.ones(数组元素个数, dtype‘类型’) import numpy as np a np.ones(10) print(a) # [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]4. ndarray 对象属性的基本操作 数组的维度 np.ndarray.shape import numpy as np ary np.array([1, 2, 3, 4, 5, 6]) print(type(ary), ary, ary.shape) # class numpy.ndarray [1 2 3 4 5 6] (6,) #二维数组 ary np.array([[1,2,3,4],[5,6,7,8] ]) print(type(ary), ary, ary.shape)class numpy.ndarray [[1 2 3 4][5 6 7 8]] (2, 4)元素的类型 np.ndarray.dtype import numpy as np ary np.array([1, 2, 3, 4, 5, 6]) print(type(ary), ary, ary.dtype) # class numpy.ndarray [1 2 3 4 5 6] int64 #转换ary元素的类型 b ary.astype(float) print(type(b), b, b.dtype) # class numpy.ndarray [1. 2. 3. 4. 5. 6.] float64 #转换ary元素的类型 c ary.astype(str) print(type(c), c, c.dtype) # class numpy.ndarray [1 2 3 4 5 6] U21数组元素的个数 np.ndarray.size import numpy as np ary np.array([[1,2,3,4],[5,6,7,8] ]) #观察维度sizelen的区别 print(ary.shape, ary.size, len(ary)) # (2, 4) 8 2数组元素索引(下标) 数组对象[…, 页号, 行号, 列号] 下标从 0 开始到数组 len-1 结束。 import numpy as np a np.array([[[1, 2],[3, 4]],[[5, 6],[7, 8]]]) print(a, a.shape) print(a[0]) print(a[0][0]) print(a[0][0][0]) print(a[0, 0, 0]) for i in range(a.shape[0]):for j in range(a.shape[1]):for k in range(a.shape[2]):print(a[i, j, k]) [[[1 2][3 4]][[5 6][7 8]]] (2, 2, 2) [[1 2][3 4]] [1 2] 1 1 1 2 3 4 5 6 7 85. ndarray 对象属性操作详解 Numpy 的内部基本数据类型 类型名类型表示符布尔型bool_有符号整数型int8(-128~127) / int16 / int32 / int64无符号整数型uint8(0~255) / uint16 / uint32 / uint64浮点型float16 / float32 / float64复数型complex64 / complex128字串型str_每个字符用 32 位 Unicode 编码表示日期类型datetime64 自定义复合类型 列与列之间可以是不同的类型但是在同一列内类型必须 # 自定义复合类型 import numpy as npdata[(zs, [90, 80, 85], 15),(ls, [92, 81, 83], 16),(ww, [95, 85, 95], 15) ] #第一种设置dtype的方式 a np.array(data, dtypeU3, 3int32, int32) print(a) print(a[0][f0], :, a[1][f1]) print()#第二种设置dtype的方式 c np.array(data, dtype{names: [name, scores, ages],formats: [U3, 3int32, int32]}) print(c[0][name], :, c[0][scores], :, c.itemsize) print()#测试日期类型数组 f np.array([2011, 2012-01-01, 2013-01-01 01:01:01,2011-02-01]) f f.astype(M8[D]) f f.astype(i4) print(f[3]-f[0])f.astype(bool) [(zs, [90, 80, 85], 15) (ls, [92, 81, 83], 16)(ww, [95, 85, 95], 15)] zs : [92 81 83]zs : [90 80 85] : 2831类型字符码 类型字符码np.bool_?np.int8/16/32/64i1 / i2 / i4 / i8np.uint8/16/32/64u1 / u2 / u4 / u8np.float/16/32/64f2 / f4 / f8np.complex64/128c8 / c16np.str_Unp.datetime64M8[Y] M8[M] M8[D] M8[h] M8[m] M8[s] 不会修改原始数据的维度 视图变维 数据共享 复制变维 数据独立 直接修改原始数据的维度 就地变维 5.1 ndarray 数组维度操作 视图变维数据共享 reshape() 与 ravel() import numpy as np a np.arange(1, 9) print(a) # [1 2 3 4 5 6 7 8] b a.reshape(2, 4) #视图变维 : 变为2行4列的二维数组 print(b) c b.reshape(2, 2, 2) #视图变维 变为2页2行2列的三维数组 print(c) d c.ravel() #视图变维 变为1维数组 print(d)[1 2 3 4 5 6 7 8] [[1 2 3 4][5 6 7 8]] [[[1 2][3 4]][[5 6][7 8]]] [1 2 3 4 5 6 7 8]复制变维数据独立 flatten() e c.flatten() print(e) a 10 print(a, e, sep\n)[1 2 3 4 5 6 7 8] [11 12 13 14 15 16 17 18] [1 2 3 4 5 6 7 8]就地变维直接改变原数组对象的维度不返回新数组 a.shape (2, 4) print(a) a.resize(2, 2, 2) print(a)[[11 12 13 14][15 16 17 18]] [[[11 12][13 14]][[15 16][17 18]]]5.2 ndarray 数组索引操作切片 数组对象切片的参数设置与列表切面参数类似 步长默认切从首到尾步长-默认切从尾到首 数组对象[起始位置:终止位置:步长, …] 默认位置步长1 三维数组[页的索引行的索引列的索引] 三维数组[页的切片行的切片列的切片] import numpy as np a np.arange(1, 10) print(a) # 1 2 3 4 5 6 7 8 9 print(a[:3]) # 1 2 3 print(a[3:6]) # 4 5 6 print(a[6:]) # 7 8 9 print(a[::-1]) # 9 8 7 6 5 4 3 2 1 print(a[:-4:-1]) # 9 8 7 print(a[-4:-7:-1]) # 6 5 4 print(a[-7::-1]) # 3 2 1 print(a[::]) # 1 2 3 4 5 6 7 8 9 print(a[:]) # 1 2 3 4 5 6 7 8 9 print(a[::3]) # 1 4 7 print(a[1::3]) # 2 5 8 print(a[2::3]) # 3 6 9多维数组的切片操作 import numpy as np a np.arange(1, 28) a.resize(3,3,3) print(a) #切出1页 print(a[1, :, :]) #切出所有页的1行 print(a[:, 1, :]) #切出0页的1行1列 print(a[0, :, 1]) [[[ 1 2 3][ 4 5 6][ 7 8 9]][[10 11 12][13 14 15][16 17 18]][[19 20 21][22 23 24][25 26 27]]] [[10 11 12][13 14 15][16 17 18]] [[ 4 5 6][13 14 15][22 23 24]] [2 5 8]ndarray 数组的掩码操作 import numpy as np a np.arange(1, 10) mask [True, False,True, False,True, False,True, False,True] print(a[mask]) # [1 3 5 7 9]6. 多维数组的组合与拆分 垂直方向操作 import numpy as np a np.arange(1, 7).reshape(2, 3) b np.arange(7, 13).reshape(2, 3) # 垂直方向完成组合操作生成新数组 c np.vstack((a, b)) # 垂直方向完成拆分操作生成两个数组 d, e np.vsplit(c, 2) print(a) print(b) print(c) print(d) print(e)[[1 2 3][4 5 6]] [[ 7 8 9][10 11 12]] [[ 1 2 3][ 4 5 6][ 7 8 9][10 11 12]] [[1 2 3][4 5 6]] [[ 7 8 9][10 11 12]]水平方向操作 import numpy as np a np.arange(1, 7).reshape(2, 3) b np.arange(7, 13).reshape(2, 3) # 水平方向完成组合操作生成新数组 c np.hstack((a, b)) # 水平方向完成拆分操作生成两个数组 d, e np.hsplit(c, 2) print(a) print(b) print(c) print(d)[[1 2 3][4 5 6]] [[ 7 8 9][10 11 12]] [[ 1 2 3 7 8 9][ 4 5 6 10 11 12]] [[1 2 3][4 5 6]] [[ 7 8 9][10 11 12]]深度方向操作3 维 import numpy as np a np.arange(1, 7).reshape(2, 3) b np.arange(7, 13).reshape(2, 3) # 深度方向3维完成组合操作生成新数组 i np.dstack((a, b)) # 深度方向3维完成拆分操作生成两个数组 k, l np.dsplit(i, 2)[[1 2 3][4 5 6]] [[ 7 8 9][10 11 12]] [[[ 1 7][ 2 8][ 3 9]][[ 4 10][ 5 11][ 6 12]]] [[[1][2][3]][[4][5][6]]] [[[ 7][ 8][ 9]][[10][11][12]]]多维数组组合与拆分的相关函数 # 通过axis作为关键字参数指定组合的方向取值如下 # 若待组合的数组都是二维数组 # 0: 垂直方向组合 # 1: 水平方向组合 # 若待组合的数组都是三维数组 # 0: 垂直方向组合 # 1: 水平方向组合 # 2: 深度方向组合 res np.concatenate((a, b), axis0) print(res) # 通过给出的数组与要拆分的份数按照某个方向进行拆分axis的取值同上 result np.split(c, 2, axis0) print(result)[[ 1 2 3][ 4 5 6][ 7 8 9][10 11 12]] [array([[1, 2, 3],[4, 5, 6]]), array([[ 7, 8, 9],[10, 11, 12]])]7. ndarray 类的其他属性 shape - 维度 dtype - 元素类型 size - 元素数量 ndim - 维数 itemsize - 元素字节数 nbytes - 总字节数 size x itemsize real - 复数数组的实部数组 imag - 复数数组的虚部数组 T - 数组对象的转置视图 flat - 扁平迭代器 import numpy as np a np.array([[1 1j, 2 4j, 3 7j],[4 2j, 5 5j, 6 8j],[7 3j, 8 6j, 9 9j]]) print(a.shape) print(a.dtype) print(a.ndim) print(a.size) print(a.itemsize) print(a.nbytes) print(a.real, a.imag, sep\n) print(a.T) print([elem for elem in a.flat]) b a.tolist() print(b) (3, 3) complex128 2 9 16 144 [[1. 2. 3.][4. 5. 6.][7. 8. 9.]] [[1. 4. 7.][2. 5. 8.][3. 6. 9.]] [[1.1.j 4.2.j 7.3.j][2.4.j 5.5.j 8.6.j][3.7.j 6.8.j 9.9.j]] [(11j), (24j), (37j), (42j), (55j), (68j), (73j), (86j), (99j)] [[(11j), (24j), (37j)], [(42j), (55j), (68j)], [(73j), (86j), (99j)]]
http://www.hkea.cn/news/14264947/

相关文章:

  • 网站建设宣传文案中国建筑集团有限公司官网校园招聘
  • 廊坊seo整站优化减肥网站源码
  • 建设网站设计专业服务企业邮箱注册申请费用
  • 网站长尾关键词优化怎么提升网站收录
  • 高端网站建设制作设计网页和网站是一样的吗
  • 高水平 专业 建设 网站做网站域名起什么作用
  • 电脑上wap网站视觉设计师前景
  • 四川省建设厅网站填报获奖国际网站建站
  • 河北省网站快速备案网站排名总是不稳定
  • 国内oa系统十大排名网站 优化 关键字
  • 哪里有免费网站空间申请最有前景的代理产品
  • 网站设计大概价格wordpress头像自定义
  • 网站建设与维护课件比较好用的网站
  • 查网站跳出率免费文档模板素材网站
  • 一个网站建设需要多少钱wordpress for ipad
  • 马尔康网站建设win7 iis配置网站 视频教程
  • 网站服务器到期查询江门网站建设junke100
  • 山东省建设备案网站审批表国内网站制作公司排名
  • 人事处网站开发文献综述哪个网站平面设计做的好
  • youshe wordpress主题织梦网站如何做seo
  • 江门网站推广多少钱网页游戏排行榜前十名2023
  • 全站flash网站seo是指
  • 木木科技 网站艰涩网站架构设计师待遇怎么样
  • 制作一个网站需要多少小时那个网站是响应式的
  • 网站建设实训分析总结完美一键优化
  • 网站编辑面试京东上怎样做网站
  • 微信网站主题几百块钱建网站
  • dede网站暂时关闭青岛互联网企业
  • 深圳专业网站建设要求如何备份网站 整站
  • 办个网站需要多少钱山东枣庄滕州网站建设