目录


  • Python科学计算
  • 目录:
  • 1.Numpy--快速处理数据
  • 1.1 ndarray对象
  • 1.2 ufunc运算
  • 1.3 矩阵运算
  • 1.4 文件存取
  • 2.SciPy--数值计算库
  • 3.SymPy-符号运算好帮手
  • 4.matplotlib-绘制精美的图表
  • 5.Traits-为Python添加类型定义
  • 6.TraitsUI-轻松制作用户界面



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则是能够对数组进行处理的函数。

1.1 ndarray对象

1.1.1 创建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')

1.2 ufunc运算

1.3 矩阵运算

1.4 文件存取

2.SciPy--数值计算库

3.SymPy-符号运算好帮手

4.matplotlib-绘制精美的图表

5.Traits-为Python添加类型定义

6.TraitsUI-轻松制作用户界面