Numpy 概述:
- 是基于向量化的运算
- 进行数值运算时Numpy数组比list效率高
- 用于读写硬盘上基于数组的数据集的工具
- 线性代数运算、傅里叶变换,以及随机数生成
- 用于将C、C++、Fortran代码集成到Python的工具
- 除了为Python提供快速的数组处理能力,NumPy在数据分析方面还有另外一个主要作用,即作为在算法之间传递数据的容器。
NumPy的ndarray 创建ndarray
类型 | 功能 |
---|---|
array | 将输入数据(列表、元组、数组或其它序列类型)转换为ndarray。要么推断出dtype,要么显示指定dtype。默认直接复制输入数据。 |
asarray | 将输入转换为darray,如果输入本身就是一个ndarray就不进行复制。 |
arange | 类似于内置的range,但返回一个ndarray而不是列表。 |
ones, ones_like | 根据指定形状和dtype创建一个全1数组。ones_like以另一个数组为参数,并根据其形状和dtype创建一个全1数组。 |
zeros, zeros_like | 类似于ones和ones_like,只不过产生的是全0数组而已。 |
empty, empty_like | 创建数组,只分配内存空间但不填充任何值。 |
eye, identity | 创建一个正方的N * N单位矩阵 |
NumPy的ndarray NumPy数据类型
类型 | 功能 |
---|---|
int8, uint8 - i1, u1 | 有/无符号的8位整型 |
int16, uint16 - i2, u2 | 有/无符号的16位整型 |
int32, uint32 - i4, u4 | 有/无符号的32位整型 |
int64, uint64 - i8, u8 | 有/无符号的64位整型 |
float16 - f2 | 半精度浮点数 |
float32 - f4 or f | 标准的单精度浮点数,与C的float兼容。 |
float64 - f8 or d | 标准的双精度浮点数。与C的double和Python的float兼容。 |
float128 - f16 or g | 扩展精度浮点数 |
complex64/128/256-c8/16/32 | 分别用两个32位,64位或128位浮点数表示的复数。 |
bool - ? | 存储True和False值的布尔类型 |
object - O | Python对象类型 |
string_ - S | 固定长度的字符串类型。S10代表长度为10的字符串。 |
unicode_ - U | 固定长度的unicode类型 |
NumPy的ndarray 数组和标量之间的运算
- 不用编写循环即可对数据执行批量运算
- 大小相等的数组之间的任何算术运算都会将运算应用到元素级
- 数组与标量的算术运算也会将那个标量值传播到各个元素
tile 用法
b = tile(a,(m,n)):即是把a数组里面的元素复制n次放进一个数组c中,然后再把数组c复制m次放进一个数组b中