首页 >

如何用Python科学计算中的矩阵替代循环 – CSS – 前端,python 调用本类方法

python 2.6,python 引号 转义字符,python pynotify,python显示原本符号,python求逆矩阵速度,rtn python,codecamp python,python 学习实例,python比较赋值,python物价网,python 调用本类方法css修改文字悬停效果,css布局脱标,vuepress使用css文件,css怎么设置背景高度,css自制图书封面效果,css禁止页面最大化,有关css样式的网页代码如何用Python科学计算中的矩阵替代循环 - CSS - 前端,python 调用本类方法

建议尽量使用 numpy 中的数组整体或者切片操作,以避免循环,特别是多重循环,以显著地提高科学计算的效率。

举几个简单的例子如下:

假设 A 是一个长度为 n 的 numpy 数组:

1. 计算 A 中元素的和,使用 A.sum() 或者 np.sum(A),而不要使用循环求和。

2. 判断 A 中是否有大于 1 的元素,使用 (A > 1).any(),不要循环进行判断。

3. 将 A 中大于 1 的元素取出放入一个新的数组,使用 A[A>1],不要循环判断一个一个地取出元素。

4. 取出 A 中指标为奇数的元素,使用 A[1::2],不要使用循环。

5. 将 A 中所有元素增大一倍,使用 A *= 2,不要循环遍历每个元素乘 2 再赋值。

6. ……

Python 中做科学计算最常用最基础的工具就是 numpy 了,有必要好好掌握。下面是 Python 做科学计算经常会用到的一些模块和软件包:

numpy: Python 中最常用的数值计算库,提供了一个通用且功能强大的高维数组结构及大量的科学计算函数(其中相当一部分和 scipy 有交叉),是 Python 中几乎所有其他科学计算库的基础。

scipy: 在 numpy 的基础上提供了科学计算中各种常见问题的解决工具,包括数学物理中的各种特殊函数,数值积分,优化,插值,傅立叶变换,线性代数,信号处理,图像处理,随机数和概率分布,统计学等等。

sympy: Python 中的符号计算库,支持符号计算、高精度计算、模式匹配、绘图、解方程、微积分、组合数学、离散数学、几何学、概率与统计、物理学等方面的功能,能在很大程度上代替 Mathematica 和 Matlab 的符号计算功能。

Ipython: 一个 Python 的交互式开发和计算环境,比 Python 自带的 shell 好用且功能强大得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。 IPython notebook 可以将代码、图像、注释、公式和作图集于一体,已经成为用 Python 做教学、计算、科研的一个重要工具。

matplotlb: Python 做科学计算最常用和最重要的画图和数据可视化工具包。

h5py: 用 Python 操作 HDF5 格式数据的工具。HDF5 是一个应用广泛的科学数据存储格式,拥有一系列的优异特性,如支持非常多的数据类型,灵活,通用,跨平台,可扩展,高效的 I/O 性能,支持几乎无限量(高达 EB)的单文件存储等。

pandas: Python 中常用的数据分析包,适合时间序列及金融数据分析。

emcee: Python 实现的马尔可夫链蒙特卡洛(MCMC)库。

pymc: 另一个实现贝叶斯统计模型和马尔科夫链蒙塔卡洛采样的工具。

近些年 Python 在高性能计算领域的应用也越来越广泛,用 Python 做并行计算也是一个不错的选择,既简单易用,又能在很多时候媲美 C、C++ 和 Fortran 的执行性能。用 Python 做并行计算的途径有很多,比如说使用标准库中的 [threading 模块](https://docs.python.org/2/library/threading.html)进行线程级别的并行,[multiprocessing 模块](https://docs.python.org/2/library/multiprocessing.html)进行进程级别的并行,[concurrent.futures 模块](https://docs.python.org/3/library/concurrent.futures.html)实现异步并行,使用 [IPython.parallel 模块](https://ipython.org/ipython-doc/3/parallel/index.html)进行多种方式的并行,使用 [mpi4py 包](https://pypi.org/project/mpi4py/)进行 MPI 消息传递并行计算,等等。如果可以使用 C/C++,Fortran 或者使用 cython 为 Python 编写扩展模块,还可以使用 OpenMP 并行。对 GPU 编程则可以使用 [pyCUDA](https://documen.tician.de/pycuda/)。偶的个人[简书专题](https://www.jianshu.com/c/5019bb7bada6)和 [CSDN 博客专栏](https://blog.csdn.net/column/details/26248.html)中有对用 Python 做并行计算的专门介绍并提供了大量的程序实例。有需要或者感兴趣的可以了解下。


如何用Python科学计算中的矩阵替代循环 - CSS - 前端,python 调用本类方法
  • farrograno女装官网 - CSS - 前端,css3怎么用贝塞尔曲线
  • farrograno女装官网 - CSS - 前端,css3怎么用贝塞尔曲线 | farrograno女装官网 - CSS - 前端,css3怎么用贝塞尔曲线 ...

    如何用Python科学计算中的矩阵替代循环 - CSS - 前端,python 调用本类方法
  • 在同一行的左右两侧显示不同的文字在html中如何用代码实现 - CSS - 前端,盗取网页css里面的图片
  • 在同一行的左右两侧显示不同的文字在html中如何用代码实现 - CSS - 前端,盗取网页css里面的图片 | 在同一行的左右两侧显示不同的文字在html中如何用代码实现 - CSS - 前端,盗取网页css里面的图片 ...

    如何用Python科学计算中的矩阵替代循环 - CSS - 前端,python 调用本类方法
  • css3问字投影效果 |css 鼠标经过下面弹出图片
  • css3问字投影效果 |css 鼠标经过下面弹出图片 | css3问字投影效果 |css 鼠标经过下面弹出图片 ...