numpy(01 入门)
前面内容:pandas(01 入门)
目录
一、numpy 简介
1.1 Numpy 应用场景
1.2 Numpy 优点
1.3 Numpy 缺点
1.4 相关链接
二、Numpy环境安装配置
2.1 Python自带包
2.2 Numpy 安装
三、NumPy.Ndarray
3.1 ndarray特点:
3.2 ndarray()参数:
3.3 具体实例
一、numpy 简介
numpy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!
1.1 Numpy 应用场景
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
- 一个强大的N维数组对象 ndarray
- 广播功能函数
- 整合 C/C++/Fortran 代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
1.2 Numpy 优点
- 同样的数值计算,使用Numpy要比编写python代码便捷很多。
- Numpy中数组的存储效率和输入输出性能远远优于python,提升的性能和数组元素个数成正比。
- Numpy的大部分代码是C语言,底层算法在设计时有着优异的性能,使得Numpy比纯python更加高效。
1.3 Numpy 缺点
- Numpy使用内存映射文件,能够达到更优的数据读写性能,内存的大小限制了对其TB级别大文件的处理。
- Numpy数组的通用性不及python提供的list容器,科学计算之外的领域,优势并不明显。
1.4 相关链接
NumPy 源代码:GitHub - numpy/numpy: The fundamental package for scientific computing with Python.
SciPy 官网:SciPy -
SciPy 源代码:GitHub - scipy/scipy: SciPy library main repository
Matplotlib 官网:Matplotlib — Visualization with Python
Matplotlib 源代码:GitHub - matplotlib/matplotlib: matplotlib: plotting with Python
二、Numpy环境安装配置
Numpy环境安装配置,标准的Python并没有包含Numpy
,可以使用python安装程序pip来安装Numpy。
pip install numpy
使用 NumPy 的最佳方法是使用符合操作系统的可安装的二进制包,它包含完整的 SciPy 技术栈(包括 NumPy,SciPy,matplotlib,IPython,SymPy 以及 Python 核心自带的其它包)。
2.1 Python自带包
对于许多用户,尤其是在 Windows 上,最简单的方法是下载以下的 Python 发行版,它们包含了所有的关键包(包括 NumPy,SciPy,matplotlib,IPython,SymPy 以及 Python 核心自带的其它包):
- Anaconda: 免费 Python 发行版,用于进行大规模数据处理、预测分析,和科学计算,致力于简化包的管理和部署。支持 Linux, Windows 和 Mac 系统。
- Enthought Canopy: 提供了免费和商业发行版。持 Linux, Windows 和 Mac 系统。
- Python(x,y): 免费的 Python 发行版,包含了完整的 Python 语言开发包 及 Spyder IDE。支持 Windows,仅限 Python 2 版本。
- WinPython: 另一个免费的 Python 发行版,包含科学计算包与 Spyder IDE。支持 Windows。
- Pyzo: 基于 Anaconda 的免费发行版本及 IEP 的交互开发环境,超轻量级。 支持 Linux, Windows 和 Mac 系统。
2.2 Numpy 安装
- Linux 系统(Ubuntu 和 Debian):
sudo apt-get install python-numpy
- Linux 系统(Fedora):
sudo yum install numpy scipy
- Anaconda 发行版的Windows系统:
conda install numpy
- Numpy 安装到系统后,在Python中输入以下代码导入Numpy:
import numpy as np
三、NumPy.Ndarray
NumPy.Ndarray 对象,最重要的一个特点是其 N 维数组对象 ndarray,该对象是一个快速而灵活的大数据集容器,描述相同数据类型的元素集合,以 0 下标为开始进行集合中元素的索引。
提示:N表示n,d表示维度,array是矩阵
3.1 ndarray特点:
ndarray 对象是用于存放同类型元素的多维数组。
ndarray 中的每个元素在内存中都有相同存储大小的区域。
ndarray 内部由以下内容组成:
- 一个指向数据(内存或内存映射文件中的一块数据)的指针。
- 数据类型或 dtype,描述在数组中的固定大小值的格子。
- 一个表示数组形状(shape)的元组,表示各维度大小的元组。
- 一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要”跨过”的字节数。
3.2 ndarray()参数:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
参数说明:
名称 | 描述 |
---|---|
object | 数组或嵌套的数列 |
dtype | 数组元素的数据类型,可选 |
copy | 对象是否需要复制,可选 |
order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
subok | 默认返回一个与基类类型一致的数组 |
ndmin | 指定生成数组的最小维度 |
ndarray 对象由计算机内存的连续一维部分组成,并结合索引模式,将每个元素映射到内存块中的一个位置。内存块以行顺序(C样式)或列顺序(FORTRAN或MatLab风格,即前述的F样式)来保存元素。
3.3 具体实例
例1:一维数据
import numpy as np
a = np.array([1,2,3])
print (a)
运行结果:
例2: 二维数据
import numpy as np
a = np.array([[1, 2], [3, 4]])
print(a)
运行结果:
例3:最小维度
import numpy as np
a = np.array([1,2,3,4,5], ndmin=2)
print (a)
运行结果:
例 4:指定数据类型
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print(a)
运行结果: