搞不懂博客园表格的排版。。。
说明:
0 ndarray :多维数组对象
1 np :import numpy as np
2 nda :表示数组的名称
1 生成数组
函数名 | 描述 |
np.array | 将输入的数据转换为ndarray,默认复制所有的输入数据(深拷贝) |
np.asarray | 将输入转换为ndarray,如果输入已经是ndarray则不再复制(浅拷贝) |
np.arange | 1 使用Python的内置函数range,返回一个数组 2 创建等差数组 — 指定步长 (start,stop, step, dtype) |
np.linspace | 创建等差数组 — 指定数量 (start, stop, num, endpoint) |
np.logspace | 创建等比数列 (start,stop, num) |
np.full | 根据给定形状和数据类型生成指定数值的数组 |
np.full_like | 生成与给定数组形状一致,但内容是指定数值的数组 |
np.random.randn | 产生的随机数组服从正态分布 |
np.random.normal | (loc, scale, size) 按照size的形状返回均值为loc,标准差为scale的正态分布数组 |
random.standard_normal | (size) 生成size形状的标准正态分布数组 |
np.random.rand | 产生的随机数组服从均匀分布 |
np.random.uniform | (low, high, size)均匀分布的数组 |
np.random.randint | (low, high=None, size=None, dtype='l')从一个均匀分布中随机采样,生成一个整数或N维整数数组 |
2 ndarray 的属性
属性名 | 属性解释(返回) |
ndarray.shape | 数组形状(元组) |
ndarray.ndim | 数组维数 |
ndarray.size | 数组中所有元素的数量 |
ndarray.itemsize | 一个数组元素的长度(字节) |
ndarray.dtype | 数组元素的类型 |
3 索引与切片
3.1 索引:从 0 计数
3.2 切片:对象[:, :] -- 先行后列
区别于 Python 的 list ,数组的切片是直接改动原数组,这意味着数据并不被复制,如果想要一份数组切片的拷贝,需要先复制这个数组,如 arr[5:7].copy()
4 修改数组
方法 | 描述 |
nda.reshape(shape, order) | 返回一个具有相同数据域,但shape不一样的视图(相当于只进行数据重新划分)。行、列不进行互换,新产生一个ndarray |
nda.resize(new_shape) | 修改数组本身的形状(需要保持元素个数前后相同),行、列不进行互换,修改原来的ndarray |
nda.T | 数组转置 |
nda.astype(type) | 返回修改了类型之后的数组 |
nda.tostring() | 转化为字符串 |
np.unique(对象) | 数组去重 |
5 ndarray 运算
分类 | 符号或函数 | 描述 |
逻辑运算 | > , <, == | |
通用判断函数 | np.all() | 是否全部... |
np.any() | 是否有... | |
三元运算 | np.where(条件,符合返回,不符合返回) | |
基础统计方法 | np.min(adn, axis) | 最小 |
np.max(adn, axis) | 最大 | |
np.median(adn, axis) | 中位数 | |
np.mean(adn, axis) | 平均数 | |
np.std(adn, axis) | 标准差 | |
np.var(adn, axis) | 样本方差 | |
np.argmax(axis) | 最大元素对应的下标 | |
np.argmin(axis) | 最小元素对应的下标 | |
cumsum | 从零开始元素累计和 | |
cumprod | 从零开始元素累计积 |