内容整理自Numpy API 速查表 - 知乎 (zhihu.com),整理成MD文档。
1、创建数组
1.1 用1和0创建数组
|
|
empty(shape[, dtype, order]) |
返回给定形状和类型的新数组,而不初始化条目。 |
empty_like(a[, dtype, order, subok]) |
返回与给定数组形状和类型相同的新数组。 |
eye(N[, M, k, dtype, order]) |
返回对角线上为1、别处为0的二维数组。 |
identity(n[, dtype]) |
返回标识数组。 |
ones(shape[, dtype, order]) |
返回给定形状和类型的新数组,其中填充了一个。 |
ones_like(a[, dtype, order, subok]) |
返回与给定数组形状和类型相同的数组。 |
zeros(shape[, dtype, order]) |
返回给定形状和类型的新数组,用零填充。 |
zeros_like(a[, dtype, order, subok]) |
返回与给定数组形状和类型相同的零数组。 |
full(shape, fill_value[, dtype, order]) |
返回给定形状和类型的新数组,用 fill_value 填充。 |
full_like(a, fill_value[, dtype, order, subok]) |
返回与给定数组形状和类型相同的完整数组。 |
1.2 根据现有数据创建数组
|
|
array(object[, dtype, copy, order, subok, ndmin]) |
创建一个数组。 |
asarray(a[, dtype, order]) |
将输入转换为数组。 |
asanyarray(a[, dtype, order]) |
将输入转换为ndarray,但将ndarray子类传递到。 |
ascontiguousarray(a[, dtype]) |
返回内存中的连续数组( C顺序)。 |
asmatrix(data[, dtype]) |
将输入解释为矩阵。 |
copy(a[, order]) |
返回给定对象的数组副本。 |
frombuffer(buffer[, dtype, count, offset]) |
将缓冲区解释为一维数组。 |
fromfile(file[, dtype, count, sep]) |
从文本或二进制文件中的数据构造数组。 |
fromfunction(function, shape, **kwargs) |
通过在每个坐标上执行函数来构造数组。 |
fromiter(iterable, dtype[, count]) |
从可迭代对象创建新的一维数组。 |
fromstring(string[, dtype, count, sep]) |
从字符串中的文本数据初始化的新一维数组。 |
loadtxt(fname[, dtype, comments, delimiter, …]) |
从文本文件加载数据。 |
1.3 创建记录数组(np.rec)
这里 numpy.rec
是 numpy.core.records
的首选别名。
|
|
core.records.array(obj[, dtype, shape, …]) |
从各种各样的对象构造记录数组。 |
core.records.fromarrays(arrayList[, dtype, …]) |
从(平面)数组列表中创建记录数组 |
core.records.fromrecords(recList[, dtype, …]) |
从文本形式的记录列表中创建重新排列 |
core.records.fromstring(datastring[, dtype, …]) |
从字符串中包含的二进制数据创建(只读)记录数组 |
core.records.fromfile(fd[, dtype, shape, …]) |
从二进制文件数据创建数组 |
1.4 创建字符数组(np.char)
这里 numpy.char 是 numpy.core.defcharary 的首选别名。
|
|
core.defchararray.array(obj[, itemsize, …]) |
创建一个字符数组。 |
core.defchararray.asarray(obj[, itemsize, …]) |
将输入转换为字符数组,仅在必要时复制数据。 |
1.5 根据数值范围创建数组
|
|
arange([start,] stop[, step,][, dtype]) |
在给定间隔内返回均匀间隔的值。 |
linspace(start, stop[, num, endpoint, …]) |
在指定的时间间隔内返回均匀间隔的数字。 |
logspace(start, stop[, num, endpoint, base, …]) |
返回对数刻度上均匀间隔的数字。 |
geomspace(start, stop[, num, endpoint, dtype]) |
返回对数刻度上均匀间隔的数字(几何级数)。 |
meshgrid(xi, *kwargs) |
从坐标向量返回坐标矩阵。 |
mgrid |
nd_grid 实例,返回密集的多维“网格”。 |
ogrid |
返回开放多维“网格”的 nd_grid 实例。 |
1.6 创建特殊矩阵
|
|
diag(v[, k]) |
提取对角线或构造对角线数组。 |
diagflat(v[, k]) |
以展平的输入为对角线创建二维数组。 |
tri(N[, M, k, dtype]) |
一个数组,在给定对角线上和下方有一个,在其他地方有零。 |
tril(m[, k]) |
数组的下三角形。 |
triu(m[, k]) |
数组的上三角形。 |
vander(x[, N, increasing]) |
生成范德蒙矩阵。 |
1.7 创建矩阵
|
|
mat(data[, dtype]) |
将输入解释为矩阵。 |
bmat(obj[, ldict, gdict]) |
从字符串、嵌套序列或数组构建矩阵对象。 |
2、数组操作
2.1 复制
|
|
copyto(dst, src[, casting, where]) |
将值从一个阵列复制到另一个阵列,根据需要进行广播。 |
2.2 改变形状
|
|
reshape(a, newshape[, order]) |
在不更改数组数据的情况下为数组赋予新形状。 |
ravel(a[, order]) |
返回连续的扁平数组。 |
ndarray.flat |
数组上的一维迭代器。 |
ndarray.flatten([order]) |
返回折叠到一维中的数组副本。 |
2.3 置换坐标轴
|
|
moveaxis(a, source, destination) |
将数组的轴移动到新位置。 |
rollaxis(a, axis[, start]) |
向后滚动指定的轴,直到它位于给定位置。 |
swapaxes(a, axis1, axis2) |
交换数组的两个轴。 |
ndarray.T |
与 self.indim < 2 时返回 self() 相同。 |
transpose(a[, axes]) |
置换数组的维度。 |
2.4 改变维数
|
|
atleast_1d(*arys) |
将输入转换为至少具有一维的数组。 |
atleast_2d(*arys) |
将输入视为至少具有两个维度的数组。 |
atleast_3d(*arys) |
将输入视为至少具有三维的数组。 |
broadcast |
制作模拟广播的对象。 |
broadcast_to(array, shape[, subok]) |
将数组广播到新形状。 |
broadcast_arrays(args, *kwargs) |
相互广播任意数量的阵列。 |
expand_dims(a, axis) |
展开数组的形状。 |
squeeze(a[, axis]) |
从数组形状中删除一维条目。 |
2.5 改变数组种类
|
|
asarray(a[, dtype, order]) |
将输入转换为数组。 |
asanyarray(a[, dtype, order]) |
将输入转换为ndarray,但将ndarray子类传递到。 |
asmatrix(data[, dtype]) |
将输入解释为矩阵。 |
asfarray(a[, dtype]) |
返回转换为浮点型的数组。 |
asfortranarray(a[, dtype]) |
在内存中返回按Fortran顺序排列的数组。 |
ascontiguousarray(a[, dtype]) |
返回内存中的连续数组( C顺序)。 |
asarray_chkfinite(a[, dtype, order]) |
将输入转换为数组,检查NaNs或Infs。 |
asscalar(a) |
将大小为1的数组转换为其标量等效数组。 |
require(a[, dtype, requirements]) |
返回满足要求的所提供类型的ndarray。 |
2.6 连接数组
|
|
concatenate((a1, a2, …)[, axis, out]) |
沿现有轴连接阵列序列。 |
stack(arrays[, axis, out]) |
沿着新轴连接一系列数组。 |
column_stack(tup) |
将一维数组作为列堆叠成二维数组。 |
dstack(tup) |
按顺序深度(沿第三轴)堆叠阵列。 |
hstack(tup) |
水平(按列)按顺序堆叠数组。 |
vstack(tup) |
垂直(按行)顺序堆叠阵列。 |
block(arrays) |
从嵌套的块列表中组装nd数组。 |
2.7 分裂数组
|
|
split(ary, indices_or_sections[, axis]) |
将阵列分割成多个子阵列。 |
array_split(ary, indices_or_sections[, axis]) |
将阵列分割成多个子阵列。 |
dsplit(ary, indices_or_sections) |
沿第三轴(深度)将阵列分割成多个子阵列。 |
hsplit(ary, indices_or_sections) |
水平(按列)将阵列拆分为多个子阵列。 |
vsplit(ary, indices_or_sections) |
将阵列垂直(按行)拆分为多个子阵列。 |
2.8 平铺数组
|
|
tile(A, reps) |
通过重复代表给定的次数来构造数组 |
repeat(a, repeats[, axis]) |
重复数组的元素。 |
2.9 添加和删除元素
|
|
delete(arr, obj[, axis]) |
返回删除了沿轴的子阵列的新阵列。 |
insert(arr, obj, values[, axis]) |
在给定索引之前沿给定轴插入值。 |
append(arr, values[, axis]) |
将值追加到数组的末尾。 |
resize(a, new_shape) |
返回具有指定形状的新数组。 |
trim_zeros(filt[, trim]) |
从一维数组或序列中修剪前导零和/或尾随零。 |
unique(ar[, return_index, return_inverse, …]) |
查找数组的唯一元素。 |
2.10 重新排列元素
|
|
flip(m, axis) |
沿给定轴反转数组中元素的顺序。 |
fliplr(m) |
向左/向右翻转阵列。 |
flipud(m) |
沿上下方向翻转阵列。 |
reshape(a, newshape[, order]) |
在不更改数组数据的情况下为数组赋予新形状。 |
roll(a, shift[, axis]) |
沿给定轴滚动阵列元素。 |
rot90(m[, k, axes]) |
在轴指定的平面中将阵列旋转90度。 |
3、二进制操作
3.1 元素位操作
|
|
bitwise_and(x1, x2, /[, out, where, …]) |
逐位计算两个数组的“与”。 |
bitwise_or(x1, x2, /[, out, where, casting, …]) |
逐位计算两个数组的OR。 |
bitwise_xor(x1, x2, /[, out, where, …]) |
逐元素计算两个数组的位异或。 |
invert(x, /[, out, where, casting, order, …]) |
逐位或逐位不逐元素计算反演。 |
left_shift(x1, x2, /[, out, where, casting, …]) |
将整数的位向左移动。 |
right_shift(x1, x2, /[, out, where, …]) |
将整数的位向右移动。 |
3.2 字节打包
|
|
packbits(myarray[, axis]) |
将二进制值数组的元素打包成uint 8数组中的位。 |
unpackbits(myarray[, axis]) |
将uint 8数组的元素解包为二进制值输出数组。 |
3.3 输出格式
|
|
binary_repr(num[, width]) |
将输入数字的二进制表示形式返回为字符串。 |
4、操作字符串
4.1 字符串操作
|
|
add(x1, x2) |
返回字符串或unicode两个数组的逐元素字符串连接。 |
multiply(a, i) |
返回( a * I ),即字符串多重连接,按元素排序。 |
mod(a, values) |
返回( a % I ),即Python 2.6之前的字符串格式( iterpolation ),对于字符串或unicode这样的一对array_likes,逐元素返回。 |
capitalize(a) |
返回一个副本,其中每个元素的第一个字符都是大写的。 |
center(a, width[, fillchar]) |
传回的复本,其元素以长度宽度字串为中心。 |
decode(a[, encoding, errors]) |
逐元素调用字符串解码。 |
encode(a[, encoding, errors]) |
调用字符串按元素编码。 |
join(sep, seq) |
返回一个字符串,它是序列seq中字符串的串联。 |
ljust(a, width[, fillchar]) |
返回一个数组,数组中的元素在长度为宽度的字符串中左对齐。 |
lower(a) |
返回元素转换为小写的数组。 |
lstrip(a[, chars]) |
对于中的每个元素,返回删除前导字符的副本。 |
partition(a, sep) |
9月份左右,将每个元素分区 |
replace(a, old, new[, count]) |
对于中的每个元素,返回字符串的副本,所有出现的子字符串旧的都替换为新的。 |
rjust(a, width[, fillchar]) |
返回一个数组,数组中的元素在长度为宽度的字符串中右对齐。 |
rpartition(a, sep) |
分隔(拆分)最右边分隔符周围的每个元素。 |
rsplit(a[, sep, maxsplit]) |
对于中的每个元素,使用sep作为分隔符字符串返回字符串中的单词列表。 |
rstrip(a[, chars]) |
对于中的每个元素,返回一个删除了尾随字符的副本。 |
split(a[, sep, maxsplit]) |
对于中的每个元素,使用sep作为分隔符字符串返回字符串中的单词列表。 |
splitlines(a[, keepends]) |
对于中的每个元素,返回元素中的线条列表,在线条边界处断开。 |
strip(a[, chars]) |
对于a中的每个元素,返回一个删除了前导和尾随字符的副本。 |
swapcase(a) |
以元素方式返回字符串副本,大写字符转换为小写字符,反之亦然。 |
title(a) |
返回字符串或unicode的元素标题大小写版本。 |
translate(a, table[, deletechars]) |
对于中的每个元素,返回字符串的副本,在该副本中,可选参数deletechars中出现的所有字符都被删除,其余字符已通过给定的转换表映射。 |
upper(a) |
返回元素转换为大写的数组。 |
zfill(a, width) |
返回左填充零的数字字符串 |
4.2 比较
与标准numpy比较运算符不同的是,char模块中的运算符在执行比较之前会剥离尾随空白字符。
|
|
equal(x1, x2) |
按元素返回( x1 = = x2 )。 |
not_equal(x1, x2) |
返回( x1!= x2 )元素方式。 |
greater_equal(x1, x2) |
逐元素返回( x1 > = x2 )。 |
less_equal(x1, x2) |
逐元素返回( x1 < = x2 )。 |
greater(x1, x2) |
逐元素返回( x1 > x2 )。 |
less(x1, x2) |
逐元素返回( x1 < x2 )。 |
4.3 字符串信息
|
|
count(a, sub[, start, end]) |
返回一个数组,其中子字符串sub在“[开始,结束)”范围内不重叠的出现次数。 |
find(a, sub[, start, end]) |
对于每个元素,返回字符串中找到子字符串sub的最低索引。 |
index(a, sub[, start, end]) |
如查找,但在未找到子字符串时引发值错误。 |
isalpha(a) |
如果字符串中的所有字符都是字母,并且至少有一个字符,则返回true,否则返回false。 |
isdecimal(a) |
对于每个元素,如果元素中只有十进制字符,则返回True。 |
isdigit(a) |
如果字符串中的所有字符都是数字,并且至少有一个字符,则返回true,否则返回false。 |
islower(a) |
如果字符串中的所有大小写字符都是小写的,并且至少有一个大小写字符,则返回true,否则返回false。 |
isnumeric(a) |
对于每个元素,如果元素中只有数字字符,则返回True。 |
isspace(a) |
如果字符串中只有空白字符,并且至少有一个字符,则返回true,否则返回false。 |
istitle(a) |
如果元素是标题大小写字符串,并且至少有一个字符,则返回true,否则返回false。 |
isupper(a) |
如果字符串中的所有大小写字符都是大写的,并且至少有一个字符,则返回true,否则返回false。 |
rfind(a, sub[, start, end]) |
对于a中的每个元素,返回字符串中找到substring sub的最高索引,以便sub包含在[ start,end ]中。 |
rindex(a, sub[, start, end]) |
类似rfind,但在未找到子字符串子字符串时引发值错误。 |
startswith(a, prefix[, start, end]) |
返回一个布尔数组,该数组为True,其中a中的字符串元素以前缀开头,否则为False。 |
5、日期支持
5.1 日期时间支持函数
|
|
datetime_as_string(arr[, unit, timezone, …]) |
将日期时间数组转换为字符串数组。 |
datetime_data(dtype, /) |
获取有关日期或时间类型步长的信息。 |
5.2 营业日功能
|
|
busdaycalendar([weekmask, holidays]) |
一个工作日日历对象,有效存储定义工作日系列功能的有效天数的信息。 |
is_busday(dates[, weekmask, holidays, …]) |
计算给定日期中哪些是有效天数,哪些不是。 |
busday_offset(dates, offsets[, roll, …]) |
首先根据滚动规则将日期调整为有效日期,然后将偏移应用于以有效日期计算的给定日期。 |
busday_count(begindates, enddates[, …]) |
计算开始日期和结束日期之间的有效天数,不包括结束日期。 |
6、数据类型
6.1 数据类型检查
|
|
can_cast(from_, to[, casting]) |
如果可以根据转换规则在数据类型之间进行转换,则返回True。 |
promote_types(type1, type2) |
返回具有最小大小和最小标量类型的数据类型,类型1和类型2都可以安全地转换到该数据类型。 |
min_scalar_type(a) |
对于标量a,返回大小最小且标量种类最小的数据类型,该数据类型可以保存其值。 |
result_type(*arrays_and_dtypes) |
传回将NumPy型别升级规则套用至引数所产生的型别。 |
common_type(*arrays) |
返回输入数组共有的标量类型。 |
obj2sctype(rep[, default]) |
返回对象Python类型的标量dtype或NumPy等效项。 |
6.2 创建数据类型
|
|
dtype(obj[, align, copy]) |
创建数据类型对象。 |
format_parser(formats, names, titles[, …]) |
类将格式、名称、标题描述转换为dtype。 |
6.3 数据类型信息
|
|
finfo(dtype) |
浮点类型的机器限制。 |
iinfo(type) |
整数类型的机器限制。 |
MachAr([float_conv, int_conv, …]) |
诊断机器参数。 |
6.4 数据类型测试
|
|
issctype(rep) |
确定给定对象是否表示标量数据类型。 |
issubdtype(arg1, arg2) |
如果第一个参数是类型层次结构中较低/相等的类型代码,则返回True。 |
issubsctype(arg1, arg2) |
确定第一个参数是否是第二个参数的子类。 |
issubclass_(arg1, arg2) |
确定一个类是否是第二类的子类。 |
find_common_type(array_types, scalar_types) |
按照标准强制规则确定通用类型。 |
6.5 其它
|
|
typename(char) |
返回给定数据类型代码的描述。 |
sctype2char(sctype) |
返回标量dtype的字符串表示形式。 |
mintypecode(typechars[, typeset, default]) |
返回给定类型可以安全转换到的最小大小类型的字符。 |
7、可选的Scipy加速from numpy.dual import...
scipy可以被构建为使用加速库或其他改进库来实现FFTs、线性代数和特殊函数。
7.1 线性代数
|
|
cholesky(a) |
乔利斯基分解。 |
det(a) |
计算数组的行列式。 |
eig(a) |
计算方阵的特征值和右特征向量。 |
eigh(a[, UPLO]) |
返回埃尔米特矩阵或对称矩阵的特征值和特征向量。 |
eigvals(a) |
计算一般矩阵的特征值。 |
eigvalsh(a[, UPLO]) |
计算埃尔米特矩阵或实对称矩阵的特征值。 |
inv(a) |
计算矩阵的(乘法)逆。 |
lstsq(a, b[, rcond]) |
将最小二乘解返回线性矩阵方程。 |
norm(x[, ord, axis, keepdims]) |
矩阵或向量范数。 |
pinv(a[, rcond]) |
计算矩阵的(摩尔-彭罗斯)伪逆。 |
solve(a, b) |
求解线性矩阵方程或线性标量方程组。 |
svd(a[, full_matrices, compute_uv]) |
奇异值分解。 |
7.2 快速傅里叶变换
|
|
fft(a[, n, axis, norm]) |
计算一维离散傅立叶变换。 |
fft2(a[, s, axes, norm]) |
计算二维离散傅立叶变换 |
fftn(a[, s, axes, norm]) |
计算N维离散傅立叶变换。 |
ifft(a[, n, axis, norm]) |
计算一维离散傅立叶逆变换。 |
ifft2(a[, s, axes, norm]) |
计算二维离散傅立叶逆变换。 |
ifftn(a[, s, axes, norm]) |
计算N维离散傅立叶逆变换。 |
7.3 特殊函数
8、浮点错误处理
|
|
seterr([all, divide, over, under, invalid]) |
设置浮点错误的处理方式。 |
geterr() |
获取当前处理浮点错误的方式。 |
seterrcall(func) |
设置浮点错误回调函数或日志对象。 |
geterrcall() |
返回用于浮点错误的当前回调函数。 |
errstate(**kwargs) |
浮点错误处理的上下文管理器。 |
seterrobj(errobj) |
设置定义浮点错误处理的对象。 |
geterrobj() |
返回定义浮点错误处理的当前对象。 |
9、离散傅里叶变换from numpy.fft import...
9.1 标准快速傅立叶变换
|
|
fft(a[, n, axis, norm]) |
计算一维离散傅立叶变换。 |
ifft(a[, n, axis, norm]) |
计算一维离散傅立叶逆变换。 |
fft2(a[, s, axes, norm]) |
计算二维离散傅立叶变换 |
ifft2(a[, s, axes, norm]) |
计算二维离散傅立叶逆变换。 |
fftn(a[, s, axes, norm]) |
计算N维离散傅立叶变换。 |
ifftn(a[, s, axes, norm]) |
计算N维离散傅立叶逆变换。 |
9.2 实FFTs
|
|
rfft(a[, n, axis, norm]) |
计算真实输入的一维离散傅立叶变换。 |
irfft(a[, n, axis, norm]) |
计算实际输入的n点DFT的倒数。 |
rfft2(a[, s, axes, norm]) |
计算真实阵列的二维FFT。 |
irfft2(a[, s, axes, norm]) |
计算真实阵列的二维逆FFT。 |
rfftn(a[, s, axes, norm]) |
计算真实输入的N维离散傅立叶变换。 |
irfftn(a[, s, axes, norm]) |
计算实际输入的N维FFT的倒数。 |
9.3 埃尔米特快速傅立叶变换
|
|
hfft(a[, n, axis, norm]) |
计算具有厄米对称的信号的FFT,即实谱。 |
ihfft(a[, n, axis, norm]) |
计算具有厄米对称的信号的逆FFT。 |
9.4 其它
|
|
fftfreq(n[, d]) |
返回离散傅立叶变换采样频率。 |
rfftfreq(n[, d]) |
返回离散傅立叶变换采样频率(用于rfft、irfft )。 |
fftshift(x[, axes]) |
将零频率分量移动到频谱中心。 |
ifftshift(x[, axes]) |
fftshift反向操作。 |
10、财务
|
|
fv(rate, nper, pmt, pv[, when]) |
计算未来值。 |
pv(rate, nper, pmt[, fv, when]) |
计算现值。 |
npv(rate, values) |
返回现金流序列的净现值。 |
pmt(rate, nper, pv[, fv, when]) |
根据贷款本金加利息计算付款。 |
ppmt(rate, per, nper, pv[, fv, when]) |
根据贷款本金计算付款。 |
ipmt(rate, per, nper, pv[, fv, when]) |
计算付款的利息部分。 |
irr(values) |
返回内部收益率( IRR )。 |
mirr(values, finance_rate, reinvest_rate) |
修正内部收益率。 |
nper(rate, pmt, pv[, fv, when]) |
计算定期付款的数量。 |
rate(nper, pmt, pv, fv[, when, guess, tol, …]) |
计算每期利率。 |
11、功能程序设计
|
|
apply_along_axis(func1d, axis, arr, *args, …) |
沿给定轴将函数应用于一维切片。 |
apply_over_axes(func, a, axes) |
在多个轴上重复应用一个函数。 |
vectorize(pyfunc[, otypes, doc, excluded, …]) |
广义函数类。 |
frompyfunc(func, nin, nout) |
获取任意Python函数并返回NumPy ufunc。 |
piecewise(x, condlist, funclist, args, *kw) |
评估分段定义的函数。 |
12、索引
12.1 生成索引数组
|
|
_ |
将切片对象沿第二轴平移为串联。 |
r_ |
将切片对象沿第一轴平移为串联。 |
s_ |
建立数组索引元组的更好方法。 |
nonzero(a) |
返回非零元素的索引。 |
where(condition, [x, y]) |
根据条件,返回x或y中的元素。 |
indices(dimensions[, dtype]) |
返回表示网格索引的数组。 |
ix_(*args) |
从多个序列构建开放网格。 |
ogrid |
返回开放多维“网格”的 nd_grid 实例。 |
ravel_multi_index(multi_index, dims[, mode, …]) |
将索引数组元组转换为平面索引数组,将边界模式应用于多索引。 |
unravel_index(indices, dims[, order]) |
将平面索引或平面索引数组转换为坐标数组元组。 |
diag_indices(n[, ndim]) |
返回索引以访问数组的主对角线。 |
diag_indices_from(arr) |
返回索引以访问n维数组的主对角线。 |
mask_indices(n, mask_func[, k]) |
给定掩蔽函数,返回访问 (n,n) 个数组的索引。 |
tril_indices(n[, k, m]) |
返回 (n,m) 数组下三角形的索引。 |
tril_indices_from(arr[, k]) |
返回arr的下三角形的索引。 |
triu_indices(n[, k, m]) |
返回 (n,m) 数组上三角形的索引。 |
triu_indices_from(arr[, k]) |
返回arr上三角形的索引。 |
12.2 类似索引的操作
|
|
take(a, indices[, axis, out, mode]) |
沿轴从数组中提取元素。 |
choose(a, choices[, out, mode]) |
从索引数组和一组可供选择的数组构造一个数组。 |
compress(condition, a[, axis, out]) |
沿给定轴返回阵列的选定切片。 |
diag(v[, k]) |
提取对角线或构造对角线数组。 |
diagonal(a[, offset, axis1, axis2]) |
返回指定的对角线。 |
select(condlist, choicelist[, default]) |
根据条件返回从choicelist中的元素中提取的数组。 |
lib.stride_tricks.as_strided(x[, shape, …]) |
以给定的形状和步幅创建阵列视图。 |
12.3 将数据插入数组
|
|
place(arr, mask, vals) |
根据条件值和输入值更改数组的元素。 |
put(a, ind, v[, mode]) |
用给定值替换数组的指定元素。 |
putmask(a, mask, values) |
根据条件值和输入值更改数组的元素。 |
fill_diagonal(a, val[, wrap]) |
填充给定维度数组的主对角线。 |
12.4 迭代数组
|
|
nditer |
高效的多维迭代器对象对数组进行迭代。 |
ndenumerate(arr) |
多维索引迭代器。 |
ndindex(*shape) |
索引数组的N维迭代器对象。 |
flatiter |
要在数组上迭代的平面迭代器对象。 |
lib.Arrayterator(var[, buf_size]) |
大数组缓冲迭代器。 |
13、输入输出
13.1 NumPy二进制文件( NPY,NPZ )
|
|
load(file[, mmap_mode, allow_pickle, …]) |
加载数组 |
save(file, arr[, allow_pickle, fix_imports]) |
将数组保存到 NumPy 中的二进制文件中。npy格式。 |
savez(file, args, *kwds) |
将几个阵列保存到未压缩的单个文件中。npz格式。 |
savez_compressed(file, args, *kwds) |
将几个数组压缩保存到单个文件中。npz格式。 |
13.2 文本文件
|
|
loadtxt(fname[, dtype, comments, delimiter, …]) |
从文本文件加载数据。 |
savetxt(fname, X[, fmt, delimiter, newline, …]) |
将数组保存到文本文件中。 |
genfromtxt(fname[, dtype, comments, …]) |
从文本文件加载数据,缺失值按指定处理。 |
fromregex(file, regexp, dtype[, encoding]) |
使用正则表达式解析从文本文件构造数组。 |
fromstring(string[, dtype, count, sep]) |
从字符串中的文本数据初始化的新一维数组。 |
ndarray.tofile(fid[, sep, format]) |
将数组以文本或二进制形式写入文件(默认)。 |
ndarray.tolist() |
将数组作为(可能嵌套的)列表返回。 |
13.3 原始二进制文件
|
|
fromfile(file[, dtype, count, sep]) |
从文本或二进制文件中的数据构造数组。 |
ndarray.tofile(fid[, sep, format]) |
将数组以文本或二进制形式写入文件(默认)。 |
13.4 字符串格式
|
|
array2string(a[, max_line_width, precision, …]) |
返回数组的字符串表示形式。 |
array_repr(arr[, max_line_width, precision, …]) |
返回数组的字符串表示形式。 |
array_str(a[, max_line_width, precision, …]) |
返回数组中数据的字符串表示形式。 |
format_float_positional(x[, precision, …]) |
在位置符号中将浮点标量格式化为十进制字符串。 |
format_float_scientific(x[, precision, …]) |
在科学记数法中将浮点标量格式化为十进制字符串。 |
13.5 内存映射文件
|
|
memmap |
创建存储到磁盘上二进制文件中存储的阵列的内存映射。 |
13.6 文本格式选项
|
|
set_printoptions([precision, threshold, …]) |
设置打印选项。 |
get_printoptions() |
返回当前打印选项。 |
set_string_function(f[, repr]) |
设置一个Python函数,用于漂亮的打印数组。 |
13.7 基-n表示
|
|
binary_repr(num[, width]) |
将输入数字的二进制表示形式返回为字符串。 |
base_repr(number[, base, padding]) |
返回给定基本系统中数字的字符串表示形式。 |
13.8 数据源
|
|
DataSource([destpath]) |
一般资料来源档案(档案、http、FTP、…)。 |
14、线性代数from numpy.linalg import...
14.1 矩阵和向量乘积
|
|
dot(a, b[, out]) |
两个数组的点积。 |
linalg.multi_dot(arrays) |
在单个函数调用中计算两个或多个数组的点积,同时自动选择最快的求值顺序。 |
vdot(a, b) |
返回两个向量的点积。 |
inner(a, b) |
两个数组的内积。 |
outer(a, b[, out]) |
计算两个向量的外积。 |
matmul(a, b[, out]) |
两个数组的矩阵乘积。 |
tensordot(a, b[, axes]) |
计算阵列 >= 1 - d的沿指定轴的张量点积 |
einsum(subscripts, *operands[, out, dtype, …]) |
评估操作数上的爱因斯坦求和约定。 |
einsum_path(subscripts, *operands[, optimize]) |
通过考虑中间数组的创建来评估einsum表达式的最低成本收缩顺序。 |
linalg.matrix_power(M, n) |
将方阵提高到(整数)幂n |
kron(a, b) |
两个数组的kronecker乘积。 |
14.2 分解
|
|
linalg.cholesky(a) |
乔利斯基分解。 |
linalg.qr(a[, mode]) |
计算矩阵的QR分解。 |
linalg.svd(a[, full_matrices, compute_uv]) |
奇异值分解。 |
14.3 矩阵特征值
|
|
linalg.eig(a) |
计算方阵的特征值和右特征向量。 |
linalg.eigh(a[, UPLO]) |
返回埃尔米特矩阵或对称矩阵的特征值和特征向量。 |
linalg.eigvals(a) |
计算一般矩阵的特征值。 |
linalg.eigvalsh(a[, UPLO]) |
计算埃尔米特矩阵或实对称矩阵的特征值。 |
14.4 其他数字
|
|
linalg.norm(x[, ord, axis, keepdims]) |
矩阵或向量范数。 |
linalg.cond(x[, p]) |
计算矩阵的条件数。 |
linalg.det(a) |
计算数组的行列式。 |
linalg.matrix_rank(M[, tol, hermitian]) |
用奇异值分解法求数组的矩阵秩 |
linalg.slogdet(a) |
计算数组行列式的符号和(自然)对数。 |
trace(a[, offset, axis1, axis2, dtype, out]) |
沿数组对角线返回总和。 |
14.5 求解方程和逆矩阵
|
|
linalg.solve(a, b) |
求解线性矩阵方程或线性标量方程组。 |
linalg.tensorsolve(a, b[, axes]) |
求解张量方程 |
linalg.lstsq(a, b[, rcond]) |
将最小二乘解返回线性矩阵方程。 |
linalg.inv(a) |
计算矩阵的(乘法)逆。 |
linalg.pinv(a[, rcond]) |
计算矩阵的(摩尔-彭罗斯)伪逆。 |
linalg.tensorinv(a[, ind]) |
计算N维数组的“逆”。 |
15、逻辑运算
15.1 真值检验
|
|
all(a[, axis, out, keepdims]) |
测试沿给定轴的所有数组元素是否评估为True。 |
any(a[, axis, out, keepdims]) |
测试沿给定轴的任何数组元素是否评估为True。 |
15.2 数组内容
|
|
isfinite(x, /[, out, where, casting, order, …]) |
测试元素的有限性(不是无穷大或不是数字)。 |
isinf(x, /[, out, where, casting, order, …]) |
以元素方式测试正无穷大或负无穷大。 |
isnan(x, /[, out, where, casting, order, …]) |
对NaN进行逐个元素的测试,并将结果返回为布尔数组。 |
isnat(x, /[, out, where, casting, order, …]) |
逐个元素测试NaT (不是时间),并将结果作为布尔数组返回。 |
isneginf(x[, out]) |
逐个元素测试负无穷大,结果返回为bool数组。 |
isposinf(x[, out]) |
测试元素为正无穷大,返回结果为bool数组。 |
15.3 阵列式测试
|
|
iscomplex(x) |
返回bool数组,如果输入元素复杂,则返回True。 |
iscomplexobj(x) |
检查复数类型或复数数组。 |
isfortran(a) |
如果数组是Fortran连续的但不是C连续的,则返回True。 |
isreal(x) |
返回bool数组,如果输入元素为实,则返回True。 |
isrealobj(x) |
如果x不是复杂类型或复数数组,则返回True。 |
isscalar(num) |
如果num的类型是标量类型,则返回True。 |
15.4 逻辑运算
|
|
logical_and(x1, x2, /[, out, where, …]) |
逐元素计算x1和x2的真值。 |
logical_or(x1, x2, /[, out, where, casting, …]) |
逐元素计算x1或x2的真值。 |
logical_not(x, /[, out, where, casting, …]) |
不按x元素计算真值。 |
logical_xor(x1, x2, /[, out, where, …]) |
逐元素计算x1 XOR x2的真值。 |
15.5 比较
|
|
allclose(a, b[, rtol, atol, equal_nan]) |
如果两个数组在容差内元素相等,则返回True。 |
isclose(a, b[, rtol, atol, equal_nan]) |
返回一个布尔数组,其中两个数组在容差内按元素相等。 |
array_equal(a1, a2) |
如果两个数组具有相同的形状和元素,则为true,否则为False。 |
array_equiv(a1, a2) |
如果输入数组形状一致且所有元素相等,则返回True。 |
greater(x1, x2, /[, out, where, casting, …]) |
逐元素返回( x1 > x2 )的真值。 |
greater_equal(x1, x2, /[, out, where, …]) |
逐元素返回( x1 >= x2 )的真值。 |
less(x1, x2, /[, out, where, casting, …]) |
逐元素返回( x1 < x2 )的真值。 |
less_equal(x1, x2, /[, out, where, casting, …]) |
逐元素返回( x1 =< x2 )的真值。 |
equal(x1, x2, /[, out, where, casting, …]) |
按元素返回( x1 == x2 )。 |
not_equal(x1, x2, /[, out, where, casting, …]) |
返回( x1 != x2 )元素方式。 |
16、矩阵库 from numpy.matlib import...
此模块包含numpy命名空间中的所有函数,只是返回的是matrix对象而不是ndarrays。
16.1 在numpy命名空间并返回matrix函数
|
|
mat(data[, dtype]) |
将输入解释为矩阵。 |
matrix(data[, dtype, copy]) |
从类似阵列的物件或资料字串传回矩阵。 |
asmatrix(data[, dtype]) |
将输入解释为矩阵。 |
bmat(obj[, ldict, gdict]) |
从字符串、嵌套序列或数组构建矩阵对象。 |
16.2 MATLAB中的替换函数
|
|
empty(shape[, dtype, order]) |
返回给定形状和类型的新矩阵,而不初始化条目。 |
zeros(shape[, dtype, order]) |
返回给定形状和类型的矩阵,用零填充。 |
ones(shape[, dtype, order]) |
一矩阵。 |
eye(n[, M, k, dtype, order]) |
返回对角线上为1、别处为0的矩阵。 |
identity(n[, dtype]) |
返回给定大小的平方单位矩阵。 |
repmat(a, m, n) |
重复阵列或矩阵MxN次。 |
rand(*args) |
返回给定形状的随机值矩阵。 |
randn(*args) |
返回带有“标准正态”分布数据的随机矩阵。 |
17、随机数
17.1 简单随机数据
|
|
rand(d0, d1, …, dn) |
给定形状中的随机值。 |
randn(d0, d1, …, dn) |
从“标准正态”分布中返回一个或多个样本。 |
randint(low[, high, size, dtype]) |
返回从低(含)到高(含)的随机整数。 |
random_integers(low[, high, size]) |
NP . int类型的随机整数,介于低和高之间,包括在内。 |
random_sample([size]) |
返回半开区间 [0.0, 1.0) 中的随机浮动。 |
random([size]) |
返回半开区间 [0.0, 1.0) 中的随机浮动。 |
ranf([size]) |
返回半开区间 [0.0, 1.0) 中的随机浮动。 |
sample([size]) |
返回半开区间 [0.0, 1.0) 中的随机浮动。 |
choice(a[, size, replace, p]) |
从给定的一维数组生成随机样本 |
bytes(length) |
返回随机字节。 |
17.2 排列
|
|
shuffle(x) |
通过移动序列的内容就地修改序列。 |
permutation(x) |
随机置换序列,或返回置换范围。 |
17.3 分布
|
|
beta(a, b[, size]) |
从Beta分布中抽取样本。 |
binomial(n, p[, size]) |
从二项分布中抽取样本。 |
chisquare(df[, size]) |
从卡方分布中抽取样本。 |
dirichlet(alpha[, size]) |
从Dirichlet分布中抽取样本。 |
exponential([scale, size]) |
从指数分布中抽取样本。 |
f(dfnum, dfden[, size]) |
从F分布中抽取样本。 |
gamma(shape[, scale, size]) |
从伽玛分布中抽取样本。 |
geometric(p[, size]) |
从几何分布中抽取样本。 |
gumbel([loc, scale, size]) |
从秋葵分布中抽取样本。 |
hypergeometric(ngood, nbad, nsample[, size]) |
从超几何分布中提取样本。 |
laplace([loc, scale, size]) |
从拉普拉斯分布或双指数分布中抽取具有指定位置(或平均值)和标度(衰减)的样本。 |
logistic([loc, scale, size]) |
从物流配送中抽取样本。 |
lognormal([mean, sigma, size]) |
从对数正态分布中抽取样本。 |
logseries(p[, size]) |
从对数级数分布中抽取样本。 |
multinomial(n, pvals[, size]) |
从多项式分布中抽取样本。 |
multivariate_normal(mean, cov[, size, …]) |
从多元正态分布中抽取随机样本。 |
negative_binomial(n, p[, size]) |
从负二项分布中抽取样本。 |
noncentral_chisquare(df, nonc[, size]) |
从非中心卡方分布中抽取样本。 |
noncentral_f(dfnum, dfden, nonc[, size]) |
从非中心F分布中抽取样本。 |
normal([loc, scale, size]) |
从正态(高斯)分布中抽取随机样本。 |
pareto(a[, size]) |
从Pareto II或Lomax分布中抽取具有特定形状的样本。 |
poisson([lam, size]) |
从泊松分布中抽取样本。 |
power(a[, size]) |
在[ 0,1 ]从正指数为a - 1的幂分布中抽取样本。 |
rayleigh([scale, size]) |
从瑞利分布中抽取样本。 |
standard_cauchy([size]) |
从模式= 0的标准Cauchy分布中抽取样本。 |
standard_exponential([size]) |
从标准指数分布中抽取样本。 |
standard_gamma(shape[, size]) |
从标准伽马分布中抽取样本。 |
standard_normal([size]) |
从标准正态分布中抽取样本(平均值= 0,stdev = 1 )。 |
standard_t(df[, size]) |
从具有df自由度的标准学生t分布中抽取样本。 |
triangular(left, mode, right[, size]) |
从[左、右区间的三角形分布中抽取样本]。 |
uniform([low, high, size]) |
从均匀分布中抽取样本。 |
vonmises(mu, kappa[, size]) |
从冯·米塞斯分布中抽取样本。 |
wald(mean, scale[, size]) |
从瓦尔德分布或逆高斯分布中提取样本。 |
weibull(a[, size]) |
从威布尔分布中抽取样本。 |
zipf(a[, size]) |
从Zipf分发中抽取样本。 |
17.4 随机发生器
|
|
RandomState([seed]) |
梅森捻线机伪随机数发生器的容器。 |
seed([seed]) |
给发电机播种。 |
get_state() |
返回表示生成器内部状态的元组。 |
set_state(state) |
从元组中设置生成器的内部状态。 |
18、集合操作
|
|
unique(ar[, return_index, return_inverse, …]) |
查找数组的唯一元素。 |
in1d(ar1, ar2[, assume_unique, invert]) |
测试一维数组的每个元素是否也存在于第二个数组中。 |
intersect1d(ar1, ar2[, assume_unique]) |
找到两个数组的交集。 |
isin(element, test_elements[, …]) |
计算 test_elements 中的元素,仅在元素上广播。 |
setdiff1d(ar1, ar2[, assume_unique]) |
找出两个数组的集合差。 |
setxor1d(ar1, ar2[, assume_unique]) |
查找两个数组的异或集。 |
union1d(ar1, ar2) |
找到两个数组的并集。 |
19、排序、搜索、计数
19.1 整理
|
|
sort(a[, axis, kind, order]) |
返回数组的排序副本。 |
lexsort(keys[, axis]) |
使用键序列执行间接排序。 |
argsort(a[, axis, kind, order]) |
返回对数组进行排序的索引。 |
ndarray.sort([axis, kind, order]) |
就地排序数组。 |
msort(a) |
返回沿第一轴排序的数组副本。 |
sort_complex(a) |
首先使用实部,然后使用虚部对复杂数组进行排序。 |
partition(a, kth[, axis, kind, order]) |
返回数组的分区副本。 |
argpartition(a, kth[, axis, kind, order]) |
使用kind关键字指定的算法沿给定轴执行间接分区。 |
19.2 搜索
|
|
argmax(a[, axis, out]) |
返回沿轴的最大值的索引。 |
nanargmax(a[, axis]) |
忽略NaNs返回指定轴上最大值的索引。 |
argmin(a[, axis, out]) |
返回沿轴的最小值的索引。 |
nanargmin(a[, axis]) |
忽略NaNs返回指定轴上最小值的索引。 |
argwhere(a) |
查找非零数组元素的索引,按元素分组。 |
nonzero(a) |
返回非零元素的索引。 |
flatnonzero(a) |
返回在a的扁平版本中非零的索引 |
where(condition, [x, y]) |
根据条件,返回x或y中的元素。 |
searchsorted(a, v[, side, sorter]) |
查找应该插入元素以维持秩序的索引。 |
extract(condition, arr) |
返回满足某些条件的数组元素。 |
19.3 计数
|
|
count_nonzero(a[, axis]) |
统计数组a中非零值的数量 |
20、统计学
20.1 次序统计
|
|
amin(a[, axis, out, keepdims]) |
沿轴返回数组的最小值或最小值。 |
amax(a[, axis, out, keepdims]) |
返回数组的最大值或沿轴的最大值。 |
nanmin(a[, axis, out, keepdims]) |
返回数组的最小值或沿轴的最小值,忽略任何南线。 |
nanmax(a[, axis, out, keepdims]) |
沿轴返回数组的最大值或最大值,忽略任何南线。 |
ptp(a[, axis, out]) |
沿轴的值范围(最大-最小)。 |
percentile(a, q[, axis, out, …]) |
沿指定轴计算数据的qth百分位。 |
nanpercentile(a, q[, axis, out, …]) |
计算沿指定轴的数据的qth百分位,而忽略nan值。 |
20.2 平均数和差异
|
|
median(a[, axis, out, overwrite_input, keepdims]) |
计算沿指定轴的中间值。 |
average(a[, axis, weights, returned]) |
沿指定轴计算加权平均值。 |
mean(a[, axis, dtype, out, keepdims]) |
沿指定轴计算算术平均值。 |
std(a[, axis, dtype, out, ddof, keepdims]) |
计算沿指定轴的标准偏差。 |
var(a[, axis, dtype, out, ddof, keepdims]) |
计算沿指定轴的方差。 |
nanmedian(a[, axis, out, overwrite_input, …]) |
计算沿指定轴的中间值,而忽略南社。 |
nanmean(a[, axis, dtype, out, keepdims]) |
沿指定轴计算算术平均值,忽略南社。 |
nanstd(a[, axis, dtype, out, ddof, keepdims]) |
计算沿指定轴的标准偏差,而忽略NaNs。 |
nanvar(a[, axis, dtype, out, ddof, keepdims]) |
计算沿指定轴的方差,而忽略NaNs。 |
20.3 相关
|
|
corrcoef(x[, y, rowvar, bias, ddof]) |
返回皮尔逊积-矩相关系数。 |
correlate(a, v[, mode]) |
两个一维序列的互相关。 |
cov(m[, y, rowvar, bias, ddof, fweights, …]) |
给定数据和权重,估计协方差矩阵。 |
20.4 直方图
|
|
histogram(a[, bins, range, normed, weights, …]) |
计算一组数据的直方图。 |
histogram2d(x, y[, bins, range, normed, weights]) |
计算两个数据样本的二维直方图。 |
histogramdd(sample[, bins, range, normed, …]) |
计算一些数据的多维直方图。 |
bincount(x[, weights, minlength]) |
统计非负整数数组中每个值的出现次数。 |
digitize(x, bins[, right]) |
返回输入数组中每个值所属的箱的索引。 |