在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
科学计算因为Python出色的特性而选择了它。本文将介绍Python科学计算相关的基础知识,并给大家推荐一本相关的书籍,让大家在丰富的实践案例中,得出学习经验。

基础理论篇:
Python是一种面向对象的、动态的程序设计语言。具有非常简洁而清晰的语法,适合于完成各种高层任务。它既可以用来快速开发程序脚本,也可以用来开发大规模的软件。
随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛,有更多的程序库的支持。虽然Matlab中的许多高级功能和toolbox目前还是无法替代的,不过在日常的科研开发之中仍然有很多的工作是可以用Python代劳的。
1.Numpy--快速处理数据
标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象。对于数值运算来说这种结构显然比较浪费内存和CPU计算时间。
此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和C语言的一维数组比较类似。但是由于它不支持多维,也没有各种运算函数,因此也不适合做数值运算。
NumPy的诞生弥补了这些不足,NumPy提供了两种基本的对象:ndarray(N-dimensional array object)和 ufunc(universal function object)。ndarray(下文统一称之为数组)是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。
ndarray对象
创建array对象
首先需要创建数组才能对其进行其它操作。
我们可以通过给array函数传递Python的序列对象创建数组,如果传递的是多层嵌套的序列,将创建多维数组(下例中的变量c):
'''python'''
@author: koushihao
import numpy as np
a = np.array([1, 2, 3, 4])
b = np.array((5, 6, 7, 8))
c = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])
结果:
b
array([5, 6, 7, 8])
c
array([[1, 2, 3, 4],
[4, 5, 6, 7],
[7, 8, 9, 10]])
c.dtype
dtype('int32')
(2)ufunc运算
(3)矩阵运算
(4)文件存取
2、SciPy--数值计算库
3、SymPy-符号运算好帮手
4、matplotlib-绘制精美的图表
5、Traits-为Python添加类型定义
6、TraitsUI-轻松制作用户界面
实战项目篇:
《Python科学计算》介绍了如何用Python开发科学计算的应用程序,除了介绍数值计算之外,还着重介绍如何制作交互式的2D、3D图像,如何设计精巧的程序界面,如何与C语言编写的高速计算程序结合,如何编写声音、图像处理算法等内容。书中涉及的Python扩展库包括NumPy、SciPy、SymPy、matplotlib、Traits、TraitsUI、Chaco、TVTK、Mayavi、VPython、OpenCV等,涉及的应用领域包括数值运算、符号运算、二维图表、三维数据可视化、三维动画演示、图像处理以及界面设计等。
大家可以根据书中大量实例进行逐步深入学习,并且每个实例程序都有详尽的解释,因此大家一定要照着书本自己动手练一遍。此外,本书附有大量的图表和插图,力求减少长篇的理论介绍和公式推导,大家可以通过实例和数据学习,从而掌握理论知识。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
新冠肺炎数据可视化分析
数据可视化作为数据分析的重要手段,可以让我们更直观的了解数据,这也是为什么数据可视化大行其道的原因。相信大家现在一定十分好奇如何进行数据可视化分析,本文就来向大家介绍博学谷的免费课程《新型冠状肺炎数据可视化分析》,在该课程中会用高级讲师向大家层层解析利用Pandas对新冠肺炎进行数据可视化分析,下面一起来看看吧!
10203
2020-03-13 11:19:16
Python数据结构之字典学习笔记
对于许多Python初学者来讲,数据结构中的字典是一个不容易理解的概念。字典作为一种容器型数据结构,它也可以算得上是最有用的容器。下面是小编整理的相关学习笔记,让我们一起来好好地学习有关于字典的语法知识吧~
6669
2020-05-05 12:04:36
Python线上培训课程的四大升级更新
随着Python人才需求的逐年增加,其工资水平更是水涨船高。为了解决就业市场Python开发岗位人才难求的问题,博学谷在线IT培训平台推出了面向零基础学习者的Python+人工智能在线就业班,该套课程与时俱进,根据市场最前沿的技术,每年都会不断对课程进行升级更新。下面我们就来了解一下,Python线上培训课程的四大升级更新!
6257
2020-05-21 16:38:37
闭包读取函数内部变量函数的基础知识分享
闭包读取函数内部变量函数的基础知识分享,闭包能够读取其他函数内部变量的函数,在本质上闭包是将函数内部和函数外部连接起来的桥梁我们需要掌握闭包的构成条件和定义闭包的语法格式。
5370
2021-12-01 16:31:23
CSS常用样式属性有哪些?代码怎么写?
CSS常用样式属性有哪些?CSS样式属性有两种分别是局常用样式属性和文本常用样式属性,CSS的作用是美化HTML网页和控制页面布局,我们需要掌握这两种常用的样式属性来美化页面。接下来一起学习下经常使用的样式属性。
5163
2021-12-08 13:52:18
