目录
数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。
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