Skip to content
Starslayerx edited this page Mar 17, 2021 · 39 revisions

green-pi
Numpy的基本对象有ndarray多维数组类型(n-dimensional array object)和ufunc通用函数类型(universal function object).

  • ndarray即多维数组,是一个灵活快捷的python容器
  • ufunc则是对数组进行处理的通用函数,此外numpy也有许多内置的通用函数类型
import numpy as np

数组

创建数组

函数 描述
array 将列表、元祖等类型转化为ndarray类型
asarray 同array,但若传如数据为ndarray则不会复制内存
arange (start, end, step)同python的range,不含end
ones 根据给定数据大小,生成全1数组
ones_like 根据所给的数组大小,生成全1数组
zeros 全0数组
zeros_like
empty 未初始化数组
empty_like
full 生成指定数值的数组
full_like
eye (a, b) 生成a x b大小特征矩阵
identity (a) 生成 a x a 大小特征矩阵
linspace (a, b, n) 从a到b平均产生n个数,含n
mgrid[a: b: nj] 同上,使用复数j生成数组

属性

ndarray对象和python列表不同点在于,ndarray中的对象必须都是同总类型的,而list不一定

属性 说明
ndim 维度
shape (m, n) 行列
size 元素总数
dtype 数据类型
itemsize 每个元素字节数

索引

索引方式 说明 例子
普通索引 使用下表及切片访问元素 a[1,2], a[[2,3], 1:3]
布尔索引 使用和数组size相同的布尔数组 a[~isnan(a)]
神奇索引 将下表替换为列表访问: a[ [行], [列] ] a[ [1:3], [4, 5] ]

改变数组

函数 说明
delete (a, n, axis=0/1) 删除数组a的第n行/列
append (a, [...], axis=0/1) 增加行或列 行列的写法: [行,这,样,写] [列],[这],[样],[写]
reshape 返回相应形状视图
reisze 改变数组形状
c_ c_[a,b] 构造分块数组[a,b]
r_ r_[a,b] 构造分块数组 $\begin{bmatrix}a \ b \end{bmatrix}$

Clone this wiki locally