目录
数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:a)、一个强大的N维数组对象 ndarray;b)、广播功能函数;c)、整合 C/C++/Fortran 代码的工具;d)、线性代数、傅里叶变换、随机数生成等功能
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。
SciPy 是一个开源的 Python 算法库和数学工具包。
SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。
NumPy Ndarray 对象
N 维数组对象 ndarray是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。
创建一个 ndarray 只需调用 NumPy 的 array 函数即可:
numpy.array(object,dtype = None,copy = True,order = None,subok = False,ndmin = 0)
| 名称 | 描述 |
|---|---|
| object | 数组或嵌套的数列 |
| dtype | 数组元素的数据类型,可选 |
| copy | 对象是否需要复制,可选 |
| order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
| subok | 默认返回一个与基类类型一致的数组 |
| ndmin | 指定生成数组的最小维度 |
import numpy as np
array = np.array([[1,2,3],[2,3,4]])
print('number of dim:', array.ndim)
print('shape:', array.shape)
print('size:', array.size)
数据类型对象 (dtype)
| 描述 | |
|---|---|
| bool_ | 布尔型数据类型(True 或者 False) |
| int_ | 默认的整数类型(类似于 C 语言中的 long,int32 或 int64) |
| intc | 与 C 的 int 类型一样,一般是 int32 或 int 64 |
| intp | 用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64) |
| int8 | 字节(-128 to 127) |
| int16 | 整数(-32768 to 32767) |
| int32 | 整数(-2147483648 to 2147483647) |
| int64 | 整数(-9223372036854775808 to 9223372036854775807) |
| uint8 | 无符号整数(0 to 255) |
| uint16 | 无符号整数(0 to 65535) |
| uint32 | 无符号整数(0 to 4294967295) |
| uint64 | 无符号整数(0 to 18446744073709551615) |
| float_ | float64 类型的简写 |
| float16 | 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位 |
| float32 | 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位 |
| float64 | 双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位 |
| complex_ | complex128 类型的简写,即 128 位复数 |
| complex64 | 复数,表示双 32 位浮点数(实数部分和虚数部分) |
| complex128 | 复数,表示双 64 位浮点数(实数部分和虚数部分) |
NumPy 创建数组
numpy.empty(shape,dtype = float,order =‘C') 用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组。
【其中:shape——数组形状,dtype——数据类型(可自选),order ——有行优先"C"和列优先"F"两个选项,,在计算机内存中的存储元素的顺序。】
numpy.zeros(shape,dtype = float,order =‘C')创建指定大小的数组,数组元素以 0 来填充。
numpy.ones(shape,dtype = None,order =‘C')创建指定形状的数组,数组元素以 1 来填充。
numpy.eye(N,M=None,k=0,dtype = <class 'float'>,order =‘C')创建一个对角矩阵,N代表行数,M代表列数(默认M=N),k=0,1,2,…右上方第k条对角线元素为“1”,其余0;k=负整数,左下方第k条为1,其余为0.
numpy.asarray(a,dtype = None,order =None)类似 numpy.array,但表示从已有的数组(如list、tuple)创建数组。
x = [(1,2,3),(4,5)] a = np.asarray(x) 得到的a即为:[(1, 2, 3) (4, 5)]
x = [1,2,3] a = np.asarray(x) 得到的a即为:[1 2 3]
深入理解Python NumPy库

本文详细介绍了Python的NumPy库,包括Ndarray对象、数据类型(dtype)、数组创建、属性、切片索引、高级索引、数学运算、排序和筛选函数、数组的合并与分割。NumPy是Python中用于数组计算的重要库,与SciPy和Matplotlib一起构建强大的科学计算环境。文章讲解了NumPy创建数组的各种方法,如empty、zeros、ones和eye,并阐述了数组属性和迭代操作,以及高级索引和数学运算功能,如排序和条件筛选。
最低0.47元/天 解锁文章
12万+

被折叠的 条评论
为什么被折叠?



