建设企业网站首页网站要怎么做关键词
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:43
当前位置: 首页 > news >正文
建设企业网站首页,网站要怎么做关键词,温州网站建设外包,四川建设网官网app四阶#xff1a;机器学习 - 深度学习 第一章 numpy 一、numpy 概述 Numerical Python#xff0c;数值的 Python#xff0c;补充了 Python 语言所欠缺的数值计算能力。 Numpy 是其它数据分析及机器学习库的底层库。 Numpy 完全标准 C 语言实现#xff0c;运行效率充分优…四阶机器学习 - 深度学习 第一章 numpy 一、numpy 概述 Numerical Python数值的 Python补充了 Python 语言所欠缺的数值计算能力。 Numpy 是其它数据分析及机器学习库的底层库。 Numpy 完全标准 C 语言实现运行效率充分优化。 Numpy 开源免费。
numpy 历史 1995 年NumericPython 语言数值计算扩充。 2001 年Scipy-Numarray多维数组运算。 2005 年NumericNumarray-Numpy。 2006 年Numpy 脱离 Scipy 成为独立的项目。
numpy 的核心多维数组 数值计算 代码简洁减少 Python 代码中的循环。 底层实现厚内核©薄接口(Python)保证性能。 二、numpy 基础 ndarray 数组
内存中的 ndarray 对象 元数据metadata 存储对目标数组的描述信息如ndim、dimensions、dtype、data 等。 实际数据 完整的数组数据 将实际数据与元数据分开存放一方面提高了内存空间的使用效率另一方面减少对实际数据的访问频率提高性能。
ndarray 数组对象的特点 Numpy 数组是同质数组即所有元素的数据类型必须相同 Numpy 数组的下标从 0 开始最后一个元素的下标为数组长度减 1
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 #二维数组 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]元素的类型 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.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]] [[1 2][3 4]] [1 2] 1 1 1 2 3 4 5 6 7ndarray 对象属性操作详解 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© 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© 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© 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)]]
- 上一篇: 建设企业网站收费内部门户网站建设方案
- 下一篇: 建设企业网站网站崩溃为什么登录不上建设银行网站
相关文章
-
建设企业网站收费内部门户网站建设方案
建设企业网站收费内部门户网站建设方案
- 技术栈
- 2026年03月21日
-
建设企业网站企业网上银行助手下载在手机上怎么做微电影网站吗
建设企业网站企业网上银行助手下载在手机上怎么做微电影网站吗
- 技术栈
- 2026年03月21日
-
建设企业网站哪家好小学校园网站建设方案工作职责
建设企业网站哪家好小学校园网站建设方案工作职责
- 技术栈
- 2026年03月21日
-
建设企业网站网站崩溃为什么登录不上建设银行网站
建设企业网站网站崩溃为什么登录不上建设银行网站
- 技术栈
- 2026年03月21日
-
建设商务网站四川建设网有限责任公司招聘
建设商务网站四川建设网有限责任公司招聘
- 技术栈
- 2026年03月21日
-
建设上线网站.name后缀的网站
建设上线网站.name后缀的网站
- 技术栈
- 2026年03月21日
