1、Numpy简述
Numpy是科学计算基础库,提供大量科学计算基础库,提供大量科学计算相关功能,比如数据统计,随机数生成等。其提供最核心类型为多维数组类型(ndarray),支持大量的维度数组与矩阵运算,Numpy支持向量处理ndarray对象,提高程序运算速度。
在上面的函数,返回值看着像一个列表,其实返回值类型是numpy.ndarray。
2、array函数
numpy 模块的array函数可以生成多维数组
语法格式如下:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
array参数说明
名称 | 描述 |
object | 数组或嵌套的数列 |
dtype | 数组元素的数据类型,可选 |
copy | 对象是否需要复制,可选 |
order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
subok | 默认返回一个与基类类型一致的数组 |
ndmin | 指定生成数组的最小维度 |
3、ndarray 对象
ndarray对象属性
![](https://i-blog.csdnimg.cn/blog_migrate/065b1c5e9b8fd5a2b2ebee68c28537f3.png)
linspace 函数用于创建一个一维数组,数组是一个等差数列构成的,格式如下:
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
numpy.logspace 函数用于创建一个于等比数列。格式如下:
np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
数组的拼接
- 水平数组组合:hstack(A,B)
- 垂直数组组合:vstack(A,B)
函数 | 描述 |
concatenate | 连接沿现有轴的数组序列 |
hstack | 水平堆叠序列中的数组(列方向) |
vstack | 竖直堆叠序列中的数组(行方向) |
numpy.concatenate 函数用于沿指定轴连接相同形状的两个或多个数组,格式如下:
numpy.concatenate((a1, a2, ...), axis)
- 参数说明:
- a1, a2, ...:相同类型的数组
- axis:沿着它连接数组的轴,默认为 0 (注:axis=0 可以使用 vstack 替换)
数组的分割
split 分割
numpy.split
函数沿特定的轴将数组分割为子数组,格式如下:
numpy.split(ary, indices_or_sections, axis)
参数说明:
- ary:被分割的数组
- indices_or_sections:如果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置。
- axis:沿着哪个维度进行切向,默认为 0,横向切分。为 1 时,纵向切分。
如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/da39575cc56bdc86fdca2fafbee4031a.png)
水平分割
水平分割数组是将两个或多个数组水平进行首尾相接,而水平分割数组是将已经水平组合到一起的数组再分开。
使用h.split(X,num)
X表示被分割的数组,num表示分隔成几个小数组
例子:
垂直分割使用:vsplit(X,num)
transpose 进行转换
例:将a进行转置 a.transpose()
聚合函数
函数名 | 说明 |
np.sum() | 求和 |
np.prod() | 所有元素相乘 |
np.mean() | 平均值 |
np.std() | 标准差 |
np.var() | 方差 |
np.median() | 中数 |
np.power() | 幂运算 |
np.sqrt() | 开方 |
np.min() | 最小值 |
np.max() | 最大值 |
np.argmin() | 最小值的下标 |
np.argmax() | 最大值的下标 |
np.inf | 无穷大 |
np.exp(10) | 以e为底的指数 |
np.log(10) | 对数 |