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

珠海学网站开发wordpress 加斜杠

珠海学网站开发,wordpress 加斜杠,大渡口区网站建设,黄村做网站哪家快文章目录一、Numpy概述1. 优势2. numpy历史3. Numpy的核心#xff1a;多维数组4. 内存中的ndarray对象4.1 元数据#xff08;metadata#xff09;4.2 实际数据二、numpy基础1. ndarray数组2. arange、zeros、ones、zeros_like3. ndarray对象属性的基本操作3.1 修改数组维度3… 文章目录一、Numpy概述1. 优势2. numpy历史3. Numpy的核心多维数组4. 内存中的ndarray对象4.1 元数据metadata4.2 实际数据二、numpy基础1. ndarray数组2. arange、zeros、ones、zeros_like3. ndarray对象属性的基本操作3.1 修改数组维度3.2 修改数组元素类型3.3 数组的size4. 数组元素索引5. Numpy内部基本数据类型5.1 基本数据类型简写的应用案例5.2 将列表强转为数组方式1 通过字符串的方式指定dtype不常用方式2通过列表套元组不常用方式3通过字典的固定键设置dtype5.3 datetime646. ndarray数组维度操作6.1 视图变维数据共享reshape()与ravel()6.2 赋值变维数据独立6.3 就地变维直接改变原数组的维度不返回新数组7. ndarray数组切片操作7.1 一维数组切片7.2 多维数组切片7.3 ndarray数组的掩码操作布尔掩码布尔掩码操作案例求100以内3的倍数的数字标签掩码掩码数组中为索引值7.4 多维数组的组合与拆分stack and splitconcatenate长度不等的数组组合简单一维数组组合方案ndarray类的其他属性一、Numpy概述 1. 优势 Numpy(Nummerical Python),补充了Python语言所欠缺的数值计算能力Numpy是其它数据分析及机器学习库的底层库Numpy完全标准的C语言实现运行效率充分优化Python 1989年出现1991年发布Numpy开源免费。 2. numpy历史 1995年NumericPython语言数值计算扩充2001年Scipy-Numarray多维数组运算2005年NumericNumarray-Numpy。2006年Numpy脱离Scipy成为独立的项目。 3. Numpy的核心多维数组 代码简洁:减少Python代码中的循环底层实现: 厚内核©薄接口(Python)保证性能. 4. 内存中的ndarray对象 4.1 元数据metadata 存储对目标数组的描述信息如: ndim、shape、dtype、data等. 4.2 实际数据 完整的数组数据 将实际数据与元数据分开存放一方面提高了内存空间的使用效率另一方面减少对实际数据的访问频率提高性能。 ndarray数组对象的特点 Numpy数组是同质数组即所有元素的数据类型必须相同Numpy数组的下标从0开始最后一个元素的下标为数组长度减1 ndarray数组对象的特点Numpy数组是同质数组即所有元素的数据类型必须相同Numpy数组的下标从0开始最后一个元素的下标为数组长度-1 二、numpy基础 1. ndarray数组 import numpy as np# 通过array创建ndarray ary np.array([1, 2, 3 , 4, 5]) print(ary) print(type(ary))# 数组与元素的运算是数组与每个元素分别运算 print(ary2) print(ary*2) print(ary 3)# 数组与数组之间的运算 是 对应位置对应计算数组不等不能计算 print(ary ary) print(ary * ary)# 输出 # [1 2 3 4 5] # class numpy.ndarray # [3 4 5 6 7] # [ 2 4 6 8 10] # [False False True False False] #[ 2 4 6 8 10] #[ 1 4 9 16 25]数组与元素的运算是数组与每个元素分别运算; 数组与数组之间的运算是对应位置对应计算 数组长度不等不能计算 2. arange、zeros、ones、zeros_like import numpy as npary np.array([1, 2, 3 , 4, 5]) print(ary)print(ary ary) print(ary * ary) aryrange np.arange(1,3) print(aryrange) aryrange np.arange(1,3,0.1) print(aryrange)ary np.zeros(10) # 生成0数组 print(ary) ary np.zeros(10, dtypeint64) # 设置数据类型 print(ary)ary np.zeros((2 ,2)) # 生成2*2的矩阵 print(ary) print(ary.shape)ary np.array([1, 2, 3 , 4, 5]) # 拿到一个数组用0填充 print(np.zeros_like(ary))# 输出 # [1 2 3 4 5] # [ 2 4 6 8 10] # [ 1 4 9 16 25] # [1 2] # [1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 # 2.8 2.9]# [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] # [0 0 0 0 0 0 0 0 0 0]# [[0. 0.] # [0. 0.]]# (2, 2)# [1 2 3 4 5] # [0 0 0 0 0] python的range只能生成整数而arange可生成浮点数 zeros_like拿到一个数组用0填充 ones_like用法类似 3. ndarray对象属性的基本操作 3.1 修改数组维度 import numpy as npary np.arange(1, 9) print(ary)# 直接修改原始数据的维度 ary.shape (2, 4) print(ary) print(ary.shape)# 修改为3维数据 ary.shape (2, 2, 2) print(ary) print(ary.shape)# [1 2 3 4 5 6 7 8]# [[1 2 3 4] # [5 6 7 8]] # (2, 4)# [1 2 3 4 5 6 7 8] # [[[1 2] # [3 4]] # # [[5 6] # [7 8]]] # (2, 2, 2)可直接使用shape修改数组的形状 3.2 修改数组元素类型 ary np.arange(1, 9) ary.dtype float64 # 只能修改解析方式修改数据类型只能用astype print(ary)ary np.arange(1, 9) c ary.astype(float) # 不会修改原始数据可用一个变量去接收 print(c)# 输出 # [4.24399158e-314 8.48798317e-314 1.27319747e-313 1.69759663e-313] # [1. 2. 3. 4. 5. 6. 7. 8.]修改数组类型时不可使用dtype,此方式只能修改解析方式会得到一个错误的值 可使用astype()去修改此方式不会修改原始数据可用一个新变量去接收 3.3 数组的size import numpy as npary np.arange(1, 9) print(ary)print(ary.shape) print(ary.size) print(len(ary)) ary.shape (2, 4) print(ary.shape) print(ary.size) print(len(ary))# 输出 # [1 2 3 4 5 6 7 8] # (8,) # 8 # 8 # (2, 4) # 8 # 2size是指数组元素的个数一维数组的len和size是一样的二多维数组则不一样在二维数组时size是指二维数组中第二维度的个数。 4. 数组元素索引 import numpy as npary np.arange(1, 9) ary.shape (2, 2, 2) print(ary)print(ary[0]) # 访问三维数组的第一个二维数组 print(ary[0][0]) # 访问二维数组的第一一维数组 print(ary[0][0][0]) # 访问一维数组的第一个元素print(ary[0,0,0]) # numpy的全新写法# 输出# [[[1 2] # [3 4]] # # [[5 6] # [7 8]]]# [[1 2] # [3 4]]# [1 2]# 1# 15. Numpy内部基本数据类型 5.1 基本数据类型简写的应用案例 import numpy as npdata [(zs, [100, 90, 95], 18),(ls, [100, 95, 93], 22),(ww, [98, 98, 98], 20)]print(data)ary np.array(data) print(ary)ary np.array(data, dtypeU2, 3int8, int8) print(ary)5.2 将列表强转为数组 方式1 通过字符串的方式指定dtype不常用 import numpy as npdata [(zs, [100, 90, 95], 18),(ls, [100, 95, 93], 22),(ww, [98, 98, 98], 20)]ary np.array(data, dtypeU2, 3int8, int8)sum 0 for i in data:sum i[2]sum print(sum/3)print(ary[f2].mean())以上代码使用2种方式求年龄的平均值 方式2通过列表套元组不常用 import numpy as np import warnings warnings.filterwarnings(ignore)data [(zs, [100, 90, 95], 18),(ls, [100, 95, 93], 22),(ww, [98, 98, 98], 20)]# print(data)ary np.array(data) # print(ary)ary np.array(data, dtype[(name, str, 2),(score, int32, 3),(age, int32, 1)]) print(ary[score].mean()) # 输出 # 20方式3通过字典的固定键设置dtype import numpy as np import warnings warnings.filterwarnings(ignore)data [(zs, [100, 90, 95], 18),(ls, [100, 95, 93], 22),(ww, [98, 98, 98], 20)]# print(data)ary np.array(data) # print(ary)ary np.array(data, dtype{names: [name, score, age], formats: [U2, 3int32, int32]})print(ary[age]) # 输出 # [18 22 20] 5.3 datetime64 import numpy as np import warnings warnings.filterwarnings(ignore)data np.array([2011, 2012-12-12, 2023-02-13 08:08:08])# 将字符串转成时间日期精确到日类型 pretty_data data.astype(datetime64[D]) print(pretty_data)# 转成整形 res pretty_data.astype(int64) print(res) # 返回距1970年1月1日的天数# 将字符串转成时间日期精确到秒类型 pretty_data data.astype(datetime64[s]) print(pretty_data)# 转成整形 res pretty_data.astype(int64) print(res) # 返回距1970年1月1日的秒数# 输出# [2011-01-01 2012-12-12 2023-02-13]# [14975 15686 19401]# [2011-01-01T00:00:00 2012-12-12T00:00:00 2023-02-13T08:08:08]# [1293840000 1355270400 1676275688]numpy的日期格式要求严格 字符串的格式不能形如 2021-1-1也不能形如2021/01/01 6. ndarray数组维度操作 容器酒瓶 元素酒 赋值拷贝酒瓶装旧酒 浅拷贝新瓶装旧酒 深拷贝新瓶装新酒 6.1 视图变维数据共享reshape()与ravel() import numpy as np import warnings warnings.filterwarnings(ignore)ary np.arange(1, 9) print(ary) # 视图变维 bry ary.reshape(2, 4) print(bry) print(ary) ary[0] 123 print(修改后的ary:, ary) print(bry:, bry) # 输出 # [1 2 3 4 5 6 7 8] # [[1 2 3 4] # [5 6 7 8]] # [1 2 3 4 5 6 7 8] # 修改后的ary: [123 2 3 4 5 6 7 8] # bry: [[123 2 3 4] # [ 5 6 7 8]]只是形状发生了改变修改了原始数据变维后的数据跟着变这就是所谓的数据共享 变维后的数据虽然在形状上发生了变化但不影响变维前的数据 ravel将数组不管几维拉伸为1维 6.2 赋值变维数据独立 import numpy as np import warnings warnings.filterwarnings(ignore)ary np.arange(1, 9).reshape(2, 4) print(ary)bry ary.flatten() print(bry)ary[0] 666 print(ary)print(bry)# 输出 # [[1 2 3 4]# [5 6 7 8]]# [1 2 3 4 5 6 7 8]# [[666 666 666 666] # [ 5 6 7 8]]# [1 2 3 4 5 6 7 8]6.3 就地变维直接改变原数组的维度不返回新数组 import numpy as np import warnings warnings.filterwarnings(ignore)ary np.arange(1, 9) ary.resize(2, 2, 2) print(ary)ary np.arange(1, 9) ary.resize(2, 2, 2) print(ary)7. ndarray数组切片操作 7.1 一维数组切片 数组对象切片的参数设置与列表切片参数类似 步长默认切从首到尾 步长-默认切从尾到头 数组对象[起始位置终止位置步长…] 默认步长1 7.2 多维数组切片 import numpy as np import warnings warnings.filterwarnings(ignore)ary np.arange(1, 9) ary.resize(3,3) print(ary) print(ary[:2]) # 前两行 print(ary[:2, :2]) # 前两行的前两列 print(ary[::2, ::2]) # 1 3行1 3列# 输出 # [[1 2 3] # [4 5 6] # [7 8 0]] # [[1 2 3] # [4 5 6]] # [[1 2] # [4 5]] # [[1 3] # [7 0]] import numpy as np import warnings warnings.filterwarnings(ignore)ary np.arange(1, 101).reshape(20, 5) print(ary) # 所有行不要最后一列 print(所有行不要最后一列) print(ary[:, :-1]) # 所有行只要最后一列 print(ary[:, -1])7.3 ndarray数组的掩码操作 布尔掩码 import numpy as np import warnings warnings.filterwarnings(ignore)ary np.arange(1, 10) mask [True, False, True, True, False, True, True, True, False] res ary[mask] print(res)# 输出 # [1 3 4 6 7 8]布尔掩码操作案例求100以内3的倍数的数字 import numpy as np import warnings warnings.filterwarnings(ignore)ary np.arange(1, 101) print(ary[ary % 3 0]) 标签掩码掩码数组中为索引值 import numpy as np import warnings warnings.filterwarnings(ignore)car np.array([bwm, benzi, audi, hongqi]) mask [0, 2, 1, 3] res car[mask] print(res) mask [0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 3] res car[mask] print(res)# 输出 # [bwm audi benzi hongqi] # [bwm bwm bwm bwm bwm audi benzi benzi benzi benzi benzi benzi hongqi]7.4 多维数组的组合与拆分 stack and split 垂直方向 vstack vsplit 水平方向 hstack hsplit 深度方向 dstack dsplit import numpy as npary np.arange(1, 7).reshape(2, 3) bry np.arange(7, 13).reshape(2, 3) res np.dstack((ary, bry)) print(ary) print(bry) print(res) print(res.shape)print(-*30)ary, bry np.dsplit(res, 2) print(ary) print(bry)# 输出 [[1 2 3][4 5 6]] [[ 7 8 9][10 11 12]] [[[ 1 7][ 2 8][ 3 9]][[ 4 10][ 5 11][ 6 12]]] (2, 3, 2) ------------------------------ [[[1][2][3]][[4][5][6]]] [[[ 7][ 8][ 9]][[10][11][12]]]三维数组拆分后依然是3维数组想变成2维只能采用变维的方式。 concatenate 若待组合的数组都是二维数组: 0: 垂直方向组合 1: 水平方向组合 若待组合的数组都是三维数组: 0: 垂直方向组合 1: 水平方向组合 2: 深度方向组合 np.concatenate((ab)axis0) 通过给出的数组与要拆分的份数按照某个方向进行拆分axis的取值同上 np.split(c2axis0) 长度不等的数组组合 先填充再组合 简单一维数组组合方案 a np.arange(1,9) b np.arange(9,17)#把两个数组摞在一起成两行 c np.row_stack((ab)) print(c)#把两个数组组合在一起成两列 d np.column_stack((ab)) print(d)ndarray类的其他属性 shape-维度dtype-元素类型size-元素数量ndim-维数len(shape)itemsize-元素字节数nbytes -总字节数 size x itemsizereal-复数数组的实部数组imag-复数数组的虚部数组T-数组对象的转置视图flat-扁平选代器
http://www.w-s-a.com/news/62771/

相关文章:

  • 做高防鞋 哪个网站能上架net网站开发net网站开发
  • 做网站公司郑州推广计划步骤
  • 网站建设计无形资产外国做美食视频网站
  • 创立一个网站需要什么网推技巧
  • 网站的会员功能怎么做wordpress主题开拓右边栏
  • 做个一般的网站要多少钱nas 建网站
  • 网页设计作品源代码彼岸花坊网站seo测评
  • 用什么软件做动漫视频网站好环保网站设计价格
  • 合肥网站设计服投稿网站源码
  • 为什么很多网站用php做上海口碑最好的装修公司排名
  • 运城网站推广找人做小程序要多少钱
  • 做外链哪个网站好seo诊断网站
  • 网站建设与管理考查方案上海公司免费起名
  • 哪个网站做h5好做汽车网站
  • 汝州网站制作住房和城乡建设部官网进行查询
  • 怎么做整人点不完的网站获取网站访客qq号码源码
  • 自建网站软件网站如何减少404跳转
  • 我想学制作网站吗公司起名网站十大排名
  • 广州白云手机网站建设淘宝店铺怎么推广
  • 青海省住房与城乡建设厅网站珠海高端网站制作公司
  • 深圳个性化建网站公司简便网站建设
  • 网站安全狗十大免费ppt网站在线
  • 进网站后台显示空白图片模板 网站源码
  • dedecms 英文网站怎么在网站上做模式题库
  • 轻网站怎么建立国外做评论的网站
  • 拉米拉网站建设乐清网站网站建设
  • 获取网站全站代码申请免费域名的方法
  • 网站制作建设公司哪家好wordpress仪表盘打不开
  • 最佳网站制作模板用手机能创建网站吗
  • 只做黑白摄影的网站网站建设好后给领导作介绍