在线客服
扫描二维码
下载博学谷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等,涉及的应用领域包括数值运算、符号运算、二维图表、三维数据可视化、三维动画演示、图像处理以及界面设计等。
大家可以根据书中大量实例进行逐步深入学习,并且每个实例程序都有详尽的解释,因此大家一定要照着书本自己动手练一遍。此外,本书附有大量的图表和插图,力求减少长篇的理论介绍和公式推导,大家可以通过实例和数据学习,从而掌握理论知识。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python教程 Python基础教程学习路线
Python基础教程学习路线,如果想从零基础熟练掌握python开发,你需要有一套完整的学习路线,首先要知道Python是什么、Python 发展历史、Python学什么、学习Python的优势如何学习等相关的内容。
8094
2019-06-19 14:38:18
数据分析培训学习多久?都学什么?
数据分析培训学习多久?以博学谷的Python数据分析与应用课程为例,学习数据分析只要22课时。那么学习内容有哪些呢?内容大概包括了Python数据分析的相关知识。感兴趣的小伙伴可以一起来看看课程介绍。
10075
2019-09-25 17:34:14
新冠肺炎数据可视化分析
数据可视化作为数据分析的重要手段,可以让我们更直观的了解数据,这也是为什么数据可视化大行其道的原因。相信大家现在一定十分好奇如何进行数据可视化分析,本文就来向大家介绍博学谷的免费课程《新型冠状肺炎数据可视化分析》,在该课程中会用高级讲师向大家层层解析利用Pandas对新冠肺炎进行数据可视化分析,下面一起来看看吧!
8445
2020-03-13 11:19:16
装饰器的作用及使用方法是什么?
装饰器的作用及使用方法是什么?外层函数返回里层函数的引用,里层函数引用外层函数的变量。装饰器在不改变已有函数源代码及调用方式的前提下对已有函数进行功能的扩展,通过我们需要学习掌握装饰器的作用及代码。
3669
2021-12-06 13:51:46
JSON数据交换格式有几种?分别是什么?
JSON轻量级的数据交换格式,简洁清晰的层次结构使得 JSON 成为理想的数据交换语言易于人阅读和编写,便于机器解析和生成并有效地提升网络传输效率。
3579
2022-01-07 15:35:06