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

网站设计公司有用吗天水网站建设公司

网站设计公司有用吗,天水网站建设公司,wordpress 添加备案,微信官方网站 - 百度-百度目录 1. 深入理解 NumPy 的内存视图与拷贝1.1 内存视图#xff08;View#xff09;1.1.1 创建视图1.1.2 视图的特点 1.2 数组拷贝#xff08;Copy#xff09;1.2.1 创建拷贝1.2.2 拷贝的特点 1.3 视图与拷贝的选择 2. NumPy 的优化与性能提升技巧2.1 向量化操作示例#x… 目录 1. 深入理解 NumPy 的内存视图与拷贝1.1 内存视图View1.1.1 创建视图1.1.2 视图的特点 1.2 数组拷贝Copy1.2.1 创建拷贝1.2.2 拷贝的特点 1.3 视图与拷贝的选择 2. NumPy 的优化与性能提升技巧2.1 向量化操作示例向量化替代循环 2.2 使用内存视图而非拷贝2.3 使用合适的数据类型2.4 并行计算2.5 使用 numexpr 和 Numba 加速 3. 探索 np.linalg 模块的高级线性代数运算3.1 矩阵乘法3.2 求解线性方程组3.3 计算矩阵的逆3.4 特征值和特征向量3.5 奇异值分解SVD 总结 在基础学习的基础上接下来我们将深入探索 NumPy 的三个重要主题内存视图与拷贝、性能优化技巧 和 高级线性代数运算。通过掌握这些内容你将能够更高效地处理大型数据、优化计算性能并在实际应用中使用高级的线性代数工具。 1. 深入理解 NumPy 的内存视图与拷贝 1.1 内存视图View 内存视图 是对原始数组数据的引用而不是数据的副本。通过视图修改数据会影响原始数组。视图不会占用额外的内存非常适合大数据处理。 NumPy 中的内存视图通常指的就是ndarray 数组类型的切片。 1.1.1 创建视图 import numpy as nparr np.array([1, 2, 3, 4, 5])# 创建一个视图 view arr[1:4] print(View:, view) # 输出: [2 3 4]# 修改视图 view[0] 99 print(Original Array:, arr) # 输出: [ 1 99 3 4 5]1.1.2 视图的特点 视图和原数组共享相同的内存。视图的修改会影响原数组。视图的创建效率高不涉及数据复制。 1.2 数组拷贝Copy 拷贝 是对原始数据的完整复制修改拷贝不会影响原数组。拷贝适合需要保持原数据不变的场景。 1.2.1 创建拷贝 arr np.array([1, 2, 3, 4, 5])# 创建一个拷贝 copy arr[1:4].copy() print(Copy:, copy) # 输出: [2 3 4]# 修改拷贝 copy[0] 99 print(Original Array:, arr) # 输出: [1 2 3 4 5]1.2.2 拷贝的特点 拷贝与原数组独立存储。拷贝的修改不会影响原数组。创建拷贝需要额外的内存和时间。 1.3 视图与拷贝的选择 使用视图在内存敏感和数据量大的情况下使用视图提高效率。使用拷贝在需要保护原始数据时使用拷贝避免数据被意外修改。 2. NumPy 的优化与性能提升技巧 2.1 向量化操作 NumPy 的向量化操作利用底层 C 语言实现的高效算法避免了 Python 的 for 循环极大提高了性能。 示例向量化替代循环 import numpy as np# 使用循环计算平方 arr np.array([1, 2, 3, 4, 5]) squared_loop [x**2 for x in arr]# 使用向量化计算平方 squared_vectorized arr**2print(squared_vectorized) # 输出: [ 1 4 9 16 25]2.2 使用内存视图而非拷贝 避免不必要的数据拷贝使用视图可以节省内存和时间。 arr np.random.rand(10000)# 使用视图进行切片 view arr[:5000]2.3 使用合适的数据类型 选择合适的数据类型可以减少内存消耗和提高计算速度。 # 使用 float32 而不是 float64 arr np.array([1.2, 3.4, 5.6], dtypenp.float32)2.4 并行计算 NumPy 在底层对一些操作进行了并行化例如矩阵乘法、求和等。 A np.random.rand(1000, 1000) B np.random.rand(1000, 1000)# 并行执行矩阵乘法 result np.dot(A, B)2.5 使用 numexpr 和 Numba 加速 numexpr用于加速复杂的数学表达式。Numba通过 Just-In-Time (JIT) 编译加速 Python 函数。 import numexpr as ne import numpy as npa np.random.rand(1000000) b np.random.rand(1000000)# 使用 numexpr 加速计算 result ne.evaluate(a b)详情见此博客【NumPy】使用numexpr和Numba加速运算 3. 探索 np.linalg 模块的高级线性代数运算 NumPy 的 np.linalg 模块提供了许多高级线性代数功能包括矩阵分解、求解线性方程组、特征值分解等。 3.1 矩阵乘法 import numpy as npA np.array([[1, 2], [3, 4]]) B np.array([[5, 6], [7, 8]])# 矩阵乘法 result np.dot(A, B) print(result)输出 [[19 22][43 50]]3.2 求解线性方程组 求解形如 A x b Ax b Axb 的线性方程组。 A np.array([[3, 1], [1, 2]]) b np.array([9, 8])x np.linalg.solve(A, b) print(x)输出 [2. 3.]3.3 计算矩阵的逆 A np.array([[1, 2], [3, 4]]) inv_A np.linalg.inv(A) print(inv_A)输出 [[-2. 1. ][ 1.5 -0.5]]3.4 特征值和特征向量 A np.array([[4, -2], [1, 1]])# 计算特征值和特征向量 eigenvalues, eigenvectors np.linalg.eig(A) print(Eigenvalues:, eigenvalues) print(Eigenvectors:\n, eigenvectors)3.5 奇异值分解SVD A np.array([[1, 2], [3, 4]])U, S, VT np.linalg.svd(A) print(U:\n, U) print(S:\n, S) print(VT:\n, VT)总结 通过深入学习以上内容你可以更灵活、高效地使用 NumPy 内存视图与拷贝理解何时使用视图、何时使用拷贝。性能优化技巧利用向量化、合适的数据类型和并行计算来提升性能。高级线性代数运算使用 np.linalg 模块解决复杂的线性代数问题。 继续练习这些概念和技巧将帮助你在数据科学、机器学习和科学计算领域更上一层楼
http://www.hkea.cn/news/14529958/

相关文章:

  • 网站建设与维护课件实训网站开发目的
  • 网站不在首页显示出来吗站长工具欧美高清
  • 岳麓区做网站wordpress logo底色
  • 网站icp查询系统seo排名优化什么意思
  • 个人做论坛网站极简WordPress个人博客主题
  • 如何在网站上做社交的链接廊坊做网站价格
  • 网站模板自助进行公司网站建设方案
  • 免费写作网站如何创建一个html网页
  • 河北交通建设投资集团公司网站佛山网络公司哪家便宜
  • 上海网站建设设计鞍山市建设局网站
  • 做网站枣庄wordpress插件 订阅
  • 深圳网站系统找哪里室内装修设计软件培训
  • 微友说是做网站维护让帮忙投注html5网页设计作业免费
  • 青田建设局网站做网站横幅的图片多大
  • 沈阳建立网站请写出html文档的代码
  • 配置jsp网站开发环境网站建设最新资讯
  • 域名备案期间 网站访问建设一个公司网站需要多少钱
  • 高端婚纱摄影网站抖音关键词排名软件
  • 网页设计与网站建设论文软件下载网站开发
  • 电子商务就是建网站凡科可以做社交网站吗
  • 低价自适应网站建设优化建站网页实时翻译软件
  • 阿里云做的网站怎么备份加强网站技术建设
  • 中国做的比较好的电商网站有哪些wordpress判断页面
  • 最近免费韩国电影hd无WordPress修改seo标题符号
  • 站群搭建兼职写好评15元一条
  • 成都网站备案太慢快速装修公司
  • 河北省建设招标网站科技期刊网站建设
  • 北京大兴最专业的网站建设公司网站目标人群
  • 做海报的网站有哪些内容专业定制网站需要什么技能
  • 携程网站 建设平台分析建设银行安徽 招聘网站