2020-10-20

it2023-11-14  69

1、为啥学习Numpy

1.1 Numpy是什么

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。 NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

一个强大的N维数组对象 ndarray广播功能函数整合 C/C++/Fortran 代码的工具线性代数、傅里叶变换、随机数生成等功能
1.2、NumPy 应用
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。SciPy 是一个开源的 Python 算法库和数学工具包。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。

除了NumPy赋予Python的快速数组处理能力之外,NumPy的另一个主要用途是在算法和库之间作为数据传递的数据容器。对于数值数据,NumPy数组能够比Python内建数据结构更为高效地存储和操作数据。此外,用底层语言编写的库,例如用C或Fortran编写的库,可以在NumPy数组存储的数据上直接操作,而无须将数据复制到其他内存中后再操作。因此,许多Python的数值计算工具将NumPy数组作为基础数据结构,或与NumPy进行无缝互操作。

2、数据类型及数组创建

2.1 常量

numpy.nan

表示空值nan = NaN = NAN 空值的产生只有np.nan()一种方法 import numpy as np print(NaN==NAN) #False print(NaN!=nan) #True np.isnan(np.nan) #True np.isnan(np.e) #False type(nan) #float

numpy.inf

表示正无穷大Inf = inf = infty = Infinity

numpy.pi

表示圆周率Π

numpy.e

表示自然常数e
2.2 数据类型

常见数据类型 Python 原生的数据类型相对较少, bool、int、float、str等。这在不需要关心数据在计算机中表示的所有方式的应用中是方便的。然而,对于科学计算,通常需要更多的控制。为了加以区分 numpy 在这些类型名称末尾都加了“_”。

下表列举了常用 numpy 基本类型。 创建数据类型 numpy 的数值类型实际上是 dtype 对象的实例。

class dtype(object): def init(self, obj, align=False, copy=False): pass 每个内建类型都有一个唯一定义它的字符代码,如下: 数据类型信息 Python 的浮点数通常是64位浮点数,几乎等同于 np.float64。

NumPy和Python整数类型的行为在整数溢出方面存在显着差异,与 NumPy 不同,Python 的int 是灵活的。这意味着Python整数可以扩展以容纳任何整数并且不会溢出。

Machine limits for integer types. class iinfo(object): def __init__(self, int_type): pass def min(self): pass def max(self): pass Machine limits for floating point types. class finfo(object): def _init(self, dtype):
最新回复(0)