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

响应式网站空间服务器要求东莞人才网58同城招聘

响应式网站空间服务器要求,东莞人才网58同城招聘,东莞网络营销策划培训,申请一个域名多少钱文章目录1. 广播#xff08;Broadcasting#xff09;规则2. 使用索引数组索引3. 使用布尔值作为数组索引4. ix_()函数5. 线性代数 简单数组操作6. 技巧和提示6.1 “自动”整形6.2 矢量堆叠1. 广播#xff08;Broadcasting#xff09;规则 Broadcasting允许通用函数以有意义… 文章目录1. 广播Broadcasting规则2. 使用索引数组索引3. 使用布尔值作为数组索引4. ix_()函数5. 线性代数 简单数组操作6. 技巧和提示6.1 “自动”整形6.2 矢量堆叠1. 广播Broadcasting规则 Broadcasting允许通用函数以有意义的方式处理具有不完全相同形状的输入。 第一个规则如果所有输入数组不具有相同数量的维度则“1”将被重复地添加到较小数组的形状直到所有数组具有相同数量的维度。 第二个规则确保沿着特定维度具有大小为1的数组表现得好像它们具有沿着该维度具有最大形状的数组的大小。假定数组元素的值沿“Broadcasting”数组的该维度相同。 在应用广播规则之后所有阵列的大小必须匹配。 以上不是特别明白 2. 使用索引数组索引 a np.arange(12)**2a array([ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121],dtypeint32)i np.array([1,1,3,8,5])a[i] array([ 1, 1, 9, 64, 25], dtypeint32)j np.array([[3,4],[9,7]])a[j] # a[j] 形状与 j 一致 array([[ 9, 16],[81, 49]], dtypeint32)当被索引的数组 a 是一个多维数组单个索引数组指的是 a 的第一个维度。以下示例通过使用调色板将标签图像转换为彩色图像来作为举例。 palette np.array([[0,0,0],[255,0,0],[0,255,0],[0,0,255],[255,255,255]])image np.array([[0,1,2,0],[0,3,4,0]])palette[image] array([[[ 0, 0, 0],[255, 0, 0],[ 0, 255, 0],[ 0, 0, 0]],[[ 0, 0, 0],[ 0, 0, 255],[255, 255, 255],[ 0, 0, 0]]])也可以给出多个维度的索引。每个维度的索引数组必须具有相同的形状。 a np.arange(12).reshape(3,4)a array([[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11]])i np.array([[0,1],[1,2]]) #行j np.array([[2,1],[3,3]]) #列a[i,j] # ij 必须有相同的shape array([[ 2, 5],[ 7, 11]])a[i,2] array([[ 2, 6],[ 6, 10]])a[:,j] #行和列的组合0行所有的j... array([[[ 2, 1],[ 3, 3]],[[ 6, 5],[ 7, 7]],[[10, 9],[11, 11]]])当然我们可以把 i 和 j 放在一个序列中(比如一个列表), 然后用列表进行索引。 l [i,j]a[l] array([[ 2, 5], # 等效于 a[i,j][ 7, 11]])不能将 i 和 j 放入一个数组中因为这个数组将被解释为索引第一个维度。 s np.array([i,j])s array([[[0, 1],[1, 2]],[[2, 1],[3, 3]]])a[s] Traceback (most recent call last):File pyshell#36, line 1, in modulea[s] IndexError: index 3 is out of bounds for axis 0 with size 3a[tuple(s)] # 与 a[i,j] 一样 array([[ 2, 5],[ 7, 11]])索引数组的另一个常见用途是搜索时间相关序列的最大值 time_max time[idx]data_max data[idx, range(data.shape[1])] # data[idx[0],0], data[idx[1],1]...time_max array([ 82.5 , 20. , 113.75, 51.25])data_max array([0.98935825, 0.84147098, 0.99060736, 0.6569866 ])np.all(data_max data.max(axis0)) True还可以使用数组索引作为目标来赋值 a np.arange(5)a array([0, 1, 2, 3, 4])a[[1,2,3]] 0a array([0, 0, 0, 0, 4])当索引列表包含重复时赋值多次只留最后一个值 a np.arange(5)a[[0,0,2]] [1,2,3] # a[0]1,a[0]2,a[2]3a array([2, 1, 3, 3, 4])使用Python的 构造要小心可能得不到你想要的效果 a array([0, 1, 2, 3, 4])a[[0,0,2]] 1 # a[0] 只加了1次a array([1, 1, 3, 3, 4])即使0在索引列表中出现2次第0个元素只会增加一次。这是因为Python要求“a 1”等同于“a a 1” 3. 使用布尔值作为数组索引 使用布尔值作为索引时我们明确地选择数组中的哪些元素我们想要的哪些不是。 我们可以想到的布尔索引最自然的方式是使用与原始数组具有相同形状的布尔数组 a np.arange(12).reshape(3,4)a array([[ 0, 1, 2, 3],[ 4, 5, 6, 7],[ 8, 9, 10, 11]])b a 4b array([[False, False, False, False],[False, True, True, True],[ True, True, True, True]])a[b] # 取出true的元素 array([ 5, 6, 7, 8, 9, 10, 11])此属性在赋值时非常有用 a[b] 0 # a中大于4的元素赋值为0a array([[0, 1, 2, 3],[4, 0, 0, 0],[0, 0, 0, 0]])使用布尔索引生成 Mandelbrot 集的图像不懂 import numpy as np import matplotlib.pyplot as plt def mandelbrot(h,w,maxit20):# Returns an image of the Mandelbrot fractal of size (h,w)y,x np.ogrid[-1.4:1.4:h*1j, -2:0.8:w*1j]c xy*1jz cdivtime maxit np.zeros(z.shape, dtypeint)for i in range(maxit):z z**2 cdiverge z*np.conj(z) 2**2div_now diverge (divtimemaxit)divtime[div_now] iz[diverge] 2return divtimeplt.imshow(mandelbrot(400,400)) plt.show()第二种使用布尔索引的方法更类似于整数索引; 对于数组的每个维度给出一个一维布尔数组选择我们想要的切片 a np.arange(12).reshape(3,4)b1 np.array([False,True,True]) # 第一轴长度3a中的3b2 np.array([True,False,True,False]) # 第二轴长度4a中的4a[b1,:] # 选择b1内true的行 array([[ 4, 5, 6, 7],[ 8, 9, 10, 11]])a[b1] # 同上 array([[ 4, 5, 6, 7],[ 8, 9, 10, 11]])a[:,b2] # 选择b2内true的列 array([[ 0, 2],[ 4, 6],[ 8, 10]])a[b1,b2] # 奇怪的结果 array([ 4, 10])1D布尔数组的长度必须与你要切片的维度或轴的长度一致。b1 是rank为1的数组其长度为3 a 中行的数量 b2 长度4适合于索引 a 的第二个rank列。 4. ix_()函数 可以使用 ix_ 函数来组合不同的向量以获得每个n-uplet的结果。例如如果要计算从向量a、b和c中的取得的所有三元组的所有a b * c a np.array([2,3,4,5])b np.array([8,5,4])c np.array([5,4,6,8,3]) ax,bx,cx np.ix_(a,b,c) # 分别取对应的组合 ax array([[[2]],[[3]],[[4]],[[5]]])bx array([[[8],[5],[4]]])cx array([[[5, 4, 6, 8, 3]]])ax.shape, bx.shape, cx.shape ((4, 1, 1), (1, 3, 1), (1, 1, 5)) result axbx*cxresult array([[[42, 34, 50, 66, 26],[27, 22, 32, 42, 17],[22, 18, 26, 34, 14]],[[43, 35, 51, 67, 27],[28, 23, 33, 43, 18],[23, 19, 27, 35, 15]],[[44, 36, 52, 68, 28],[29, 24, 34, 44, 19],[24, 20, 28, 36, 16]],[[45, 37, 53, 69, 29],[30, 25, 35, 45, 20],[25, 21, 29, 37, 17]]])result[3,2,4] 17a[3]b[2]*c[4] 17以下版本的reduce的优点是它使用Broadcasting规则以避免创建参数数组输出的大小乘以向量的数量。 def func(f, *vectors):vs np.ix_(*vectors)r f.identityfor v in vs:r f(r,v)return r func(np.add,a,b,c) array([[[15, 14, 16, 18, 13],[12, 11, 13, 15, 10],[11, 10, 12, 14, 9]],[[16, 15, 17, 19, 14],[13, 12, 14, 16, 11],[12, 11, 13, 15, 10]],[[17, 16, 18, 20, 15],[14, 13, 15, 17, 12],[13, 12, 14, 16, 11]],[[18, 17, 19, 21, 16],[15, 14, 16, 18, 13],[14, 13, 15, 17, 12]]])5. 线性代数 简单数组操作 a np.array([[1.0,2.0],[3.0,4.0]])print(a) [[1. 2.][3. 4.]]a.transpose() #转置 array([[1., 3.],[2., 4.]])np.linalg.inv(a) #矩阵求逆 array([[-2. , 1. ],[ 1.5, -0.5]]) u np.eye(2) #对角线是1u array([[1., 0.],[0., 1.]])j np.array([[0.0,-1.0],[1.0,0.0]])np.dot(j,j) #矩阵点积 array([[-1., 0.],[ 0., -1.]])np.trace(u) 2.0y np.array([[5.0],[7.0]])np.linalg.solve(a,y) # 求解矩阵方程 array([[-3.],[ 4.]])np.linalg.eig(j) (array([0.1.j, 0.-1.j]), array([[0.707106780.j , 0.70710678-0.j ],[0. -0.70710678j, 0. 0.70710678j]]))6. 技巧和提示 6.1 “自动”整形 可以省略一个维度的尺寸由其自动计算出来 a np.arange(30)a.shape 2,-1,3 # -1 表示自行推导省略a.shape (2, 5, 3)a array([[[ 0, 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, 28, 29]]])6.2 矢量堆叠 column_stackdstackhstackvstack x np.arange(0,10,2) #array([0, 2, 4, 6, 8])y np.arange(5) #array([0, 1, 2, 3, 4])m np.vstack([x,y])m array([[0, 2, 4, 6, 8],[0, 1, 2, 3, 4]])xy np.hstack([x,y])xy array([0, 2, 4, 6, 8, 0, 1, 2, 3, 4])
http://www.zqtcl.cn/news/871908/

相关文章:

  • 旅游网站模板文章wordpress 删除
  • 沛县专业做网站wordpress id重置密码
  • 湖南邵阳建设局网站做外贸一般用什么网站
  • html网站开发主要涉及哪些技术越秀金融大厦地址
  • 北京建设银行网站田村广州室内设计公司排行榜
  • 安徽金路建设集团有限公司网站平面设计班培训入门
  • 小型电子商务网站开发php mysql网站开发教程
  • 网站建设常州麦策电商2 网站建设的一般步骤包含哪些
  • cn免费域名注册网站企业推广的渠道有哪些
  • 关于网站建设心得体会网站的功能包括哪些
  • 番禺网站制作技术网站建设与管理pdf
  • 毕业设计做网站选题营销型网站功能模块
  • 西部数码网站管理助手安装建工教育网
  • wordpress 网站logowordpress文本编辑器插件
  • 杭州装饰网站建设如何免费建购物网站
  • 在vs做的项目怎么连接到网站珠海有什么网站
  • 网上购物网站建设论文6做的网站必须放在idc机房吗
  • 基于asp.net的视频网站开发500套wordpress模板
  • 商城模板建站价格寻找专业网站建设
  • 网址我的上网主页seo培训中心
  • 上海建网站服务器河南网站推广优化排名
  • 夸克作文网站淄博团购网站建设
  • 家居类企业响应式网站一个很好的个人网站开发
  • 推荐网站建设服务器百度竞价入口
  • 微信如何做网站100个成功营销策划案例
  • 手机网站分享js代码外贸网站做几种产品
  • 文化网站建设论文wordpress模板打包
  • 学校网站查询做网站 先上线再调整
  • 如何制作一个好网站培训教育网站开发
  • 杭州市网站seo网站微信建设