方法介绍
名称 | 介绍 |
---|---|
object.ndim | 返回维度 |
np.vstack([a, b]) | 竖向合并 |
np.hstack([a, b]) | 水平合并 |
np.concatenate([……]) | 合并多个数组,第一个参数是数组,第二个是维度 |
object.size | 获取数据个数或大小 |
np.vsplit(a,indices_or_sections=2) | 横向切分,均分2段 |
np.split(a,indices_or_sections=[2,3],axis=1) | 纵向切分,分片成 [:2],[2:3], [3:],第三个参数是维度 |
object.shape[] | object.shape[0]表示第一个维度,行。object.shape[1]表示第二个维度,列。 |
np.where() | 按条件选择、替换数据,如np.where(condition, a, b) |
a.dot(b)&np.dot(a, b) | 矩阵点积运算 |
b.T | 把 b 做一次转置 |
a.min()&np.max(a) | 获取a中最小值 |
a.sum() | a中所有数据相加 |
a.prod() | a中所有数据累乘 |
a.size | a中数据总数 |
np.count_nonzero(a) | a中非零总数 |
np.mean(a) | 平均数 |
np.median(a) | 中位数 |
np.std(a) | 标准差 |
np.argmax(a) | 最大值索引 |
np.argmin(a) | 最小值索引 |
np.ceil(a) | 向上取整,天花板的值 |
np.floor(a) | 向下取整,地板的值 |
a.clip(start,end) | 用于上下界限的值截取 |
reshape(x,y) | 改变形态 |
np.expand_dims(a, axis=1) | 可用于扩展维度 |
np.squeeze(a) | 实现对数组 a 维度的减少 |
a.T&np.transpose(a) | 矩阵转置 |
np.column_stack([……]) | 列合并 |
np.row_stack([……]) | 行合并 |
object.strip() | 删除字符前后的字符,默认为空格、换行等符号 |
numpy.argwhere() | 用于查找按元素分组的非零数组元素的索引。 |
np.zeros() | 可以生成全0的矩阵 |
np.ones() | 可以生成全1的矩阵 |
np.full() | 可以生成任意数字的矩阵 |
np.ones_like(data) | 创建一个和data类型一样,大小一样的另一份数据。值为1 |
np.zeros_like(data) | 创建一个和data类型一样,大小一样的另一份数据。值为0 |
np.full_like(data, 6) | 创建一个和data类型一样,大小一样的另一份数据。值为6 |
np.arange(3, 10, 2) | 范围做自定义更变或跳跃取值 |
np.linspace(-1, 1, 5) | 创建四个区域,五个点 |
np.linspace(-1, 1, 5, endpoint=False) | 创建五个区域,五个点 |
np.identity(n,dtype=None) | n*n的主对角线为1,其余地方为0的数组,对角阵 |
np.eye() | 生成m*n的矩阵,第一个参数为N、第二个参数为M、第三个参数为对角1上下多少位、第四个参数为dtype。 |
np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0) | 构造等比数列 |
np.empty() | 可以快速生成矩阵数据 |
np.empty_like() | 和 np.zeros_like() 这种类似 |
np.random().rand(dim1,dim2) | 可以生成array类型的随机数组。 |
np.random.random([dim1, dim2]) | 和rand类似,仅仅输入参数类型有点区别。 |
np.random.randn(dim1,dim2) | 按照标准正态分布生成数组 |
np.random.randint(low=-3, high=6, size=100) | low和high是上下限,size是生成多少个。 |
np.random.choice(data) | 随机从一组数据中选择,第二个参数为大小,第三个参数保证随机结果无重复 |
np.copy(data) | 复制数据,浅复制 |
np.random.shuffle(data) | 将源数据洗牌重新排列,直接一个方法,无返回值 |
np.random.permutation(10)) | 生成乱序的0-10的数据,若传入数组,对数组进行乱序排序 |
np.random.normal(1, 0.2, 10) | 正态分布,均值,方差,数量 |
np.random.uniform(-1, 1, 10) | 均匀分布 |
np.random.seed(1) | 随机种子下的随机数据是固定的随机数据 |
np.flatten() &np.ravel() | 都用于矩阵展平,但是ravel更快 |
np.take(a, indices, axis=0) | 利用索引取出数据,比index更快 |
np.compress(mask, a, axis=0) | 使用 np.compress(), 替代用 mask 选数据的方法。 |
np.add(b, 1, out=b) | out 可以减少 copy 的产生 |
特殊内容
改变形态:
a = np.array([1,2,3,4,5,6])
a_2d = a[np.newaxis, :]
print(a_2d.shape)
## (1, 6)
a_none = a[:, None]
a_expand = np.expand_dims(a, axis=1)
print(a_none.shape, a_expand.shape)
## (6, 1) (6, 1)
# 减小维度
# 只能减少那些维度 shape 上为 1 的维度
特殊内容
View 相当于浅复制
Copy 相当于深复制