赞
踩
数组处理程序
方法 | 描述 |
---|---|
copyto(dst, src[, casting, where]) | 将值从一个数组复制到另一个数组,并根据需要进行广播。 |
方法 | 描述 |
---|---|
reshape(a, newshape[, order]) | 在不更改数据的情况下为数组赋予新的形状。 |
ravel(a[, order]) | 返回一个连续的扁平数组。 |
ndarray.flat | 数组上的一维迭代器。 |
ndarray.flatten([order]) | 返回折叠成一维的数组副本。 |
方法 | 描述 |
---|---|
moveaxis(a, source, destination) | 将数组的轴移到新位置。 |
rollaxis(a, axis[, start]) | 向后滚动指定的轴,直到其位于给定的位置。 |
swapaxes(a, axis1, axis2) | 互换数组的两个轴。 |
ndarray.T | 转置数组。 |
transpose(a[, axes]) | 排列数组的尺寸。 |
方法 | 描述 |
---|---|
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]) | 从数组形状中删除一维条目。 |
方法 | 描述 |
---|---|
asarray(a[, dtype, order]) | 将输入转换为数组。 |
asanyarray(a[, dtype, order]) | 将输入转换为ndarray,但通过ndarray子类。 |
asmatrix(data[, dtype]) | 将输入解释为矩阵。 |
asfarray(a[, dtype]) | 返回转换为浮点类型的数组。 |
asfortranarray(a[, dtype]) | 返回以Fortran顺序排列在内存中的数组(ndim> = 1)。 |
ascontiguousarray(a[, dtype]) | 返回内存中的连续数组(ndim> = 1)(C顺序)。 |
asarray_chkfinite(a[, dtype, order]) | 将输入转换为数组,检查NaN或Infs。 |
asscalar(a) | 将大小为1的数组转换为其等效的标量。 |
require(a[, dtype, requirements]) | 返回提供的类型满足要求的ndarray。 |
方法 | 描述 |
---|---|
concatenate((a1, a2, …) | 沿现有轴连接一系列数组。 |
stack(arrays[, axis, out]) | 沿新轴连接一系列数组。 |
column_stack(tup) | 将一维数组作为列堆叠到二维数组中。 |
dstack(tup) | 沿深度方向(沿第三轴)按顺序堆叠数组。 |
hstack(tup) | 水平(按列)顺序堆叠数组。 |
vstack(tup) | 垂直(行)按顺序堆叠数组。 |
block(arrays) | 从块的嵌套列表中组装一个nd数组。 |
方法 | 描述 |
---|---|
split(ary, indices_or_sections[, axis]) | 将数组拆分为多个子数组,作为ary的视图。 |
array_split(ary, indices_or_sections[, axis]) | 将一个数组拆分为多个子数组。 |
dsplit(ary, indices_or_sections) | 沿第3轴(深度)将数组拆分为多个子数组。 |
hsplit(ary, indices_or_sections) | 水平(按列)将一个数组拆分为多个子数组。 |
vsplit(ary, indices_or_sections) | 垂直(行)将数组拆分为多个子数组。 |
方法 | 描述 |
---|---|
tile(A, reps) | 通过重复A代表次数来构造一个数组。 |
repeat(a, repeats[, axis]) | 重复数组的元素。 |
方法 | 描述 |
---|---|
delete(arr, obj[, axis]) | 返回一个新的数组,该数组具有沿删除的轴的子数组。 |
insert(arr, obj, values[, axis]) | 沿给定轴在给定索引之前插入值。 |
append(arr, values[, axis]) | 将值附加到数组的末尾。 |
resize(a, new_shape) | 返回具有指定形状的新数组。 |
trim_zeross(filt[, trim]) | 修剪一维数组或序列中的前导和/或尾随零。 |
unique(ar[, return_index, return_inverse, …]) | 查找数组的唯一元素。 |
方法 | 描述 |
---|---|
flip(m[, axis]) | 沿给定轴颠倒数组中元素的顺序。 |
fliplr(m) | 左右翻转数组。 |
flipud(m) | 上下翻转阵列。 |
reshape(a, newshape[, order]) | 在不更改数据的情况下为数组赋予新的形状。 |
roll(a, shift[, axis]) | 沿给定轴滚动数组元素。 |
rot90(m[, k, axes]) | 在轴指定的平面中将阵列旋转90度。 |
函数 | 描述 |
---|---|
reshape | 不改变数据的条件下修改形状 |
flat | 数组元素迭代器 |
flatten | 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组 |
ravel | 返回展开数组 |
函数可以在不改变数据的条件下修改形状
reshape(arr, newshape, order='C')
参数说明:
参数 | 描述 |
---|---|
arr | 要修改形状的数组 |
newshape | 整数或者整数数组,新的形状应当兼容原有形状 |
order | ‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序。 |
示例:
x = np.zeros((3, 2)) a = np.reshape(x, (2, 3)) # 使用函数调用形式 b = x.reshape((1, 6)) # 使用方法调用形式 print(x) print('------------------') print(a) print('------------------') print(b) # output: # [[0. 0.] # [0. 0.] # [0. 0.]] # ------------------ # [[0. 0. 0.] # [0. 0. 0.]] # ------------------ # [[0. 0. 0. 0. 0. 0.]]
使用该方法将数组转换为一个可迭代对象
import numpy as np x = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 使用for循环直接迭代,将逐行迭代 for row in x: print(row, end='#\n') # 使用flat,可以通过迭代获得数组的每一个元素 for element in x.flat: print(element) # output: # [1 2 3]# # [4 5 6]# # [7 8 9]# # 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9
返回一份数组拷贝,对拷贝所做的修改不会影响原始数组
ndarray.flatten(order='C')
参数说明:
参数 | 描述 |
---|---|
order | ‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘K’ – 元素在内存中的出现顺序 |
示例:
x = np.array([[3, 1, 2], [6, 4, 5]]) a = x.flatten() b = x.flatten('F') c = x.flatten('A') d = x.flatten('K') print(x) print('--------------') print(a) print('--------------') print(b) print('--------------') print(c) print('--------------') print(d) # output: # [[3 1 2] # [6 4 5]] # -------------- # [3 1 2 6 4 5] # -------------- # [3 6 1 4 2 5] # -------------- # [3 1 2 6 4 5] # -------------- # [3 1 2 6 4 5]
展平的数组元素,顺序通常是"C风格",返回的是数组视图(view,有点类似 C/C++引用reference的意味),修改会影响原始数组。
ravel(a, order='C')
参数说明:
参数 | 描述 |
---|---|
order | ‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘K’ – 元素在内存中的出现顺序 |
x = np.array([[3, 1, 2], [6, 4, 5]]) a = x.ravel() b = x.ravel('F') c = x.ravel('A') d = x.ravel('K') print(x) print('--------------') print(a) print('--------------') print(b) print('--------------') print(c) print('--------------') print(d) # output: # [[3 1 2] # [6 4 5]] # -------------- # [3 1 2 6 4 5] # -------------- # [3 6 1 4 2 5] # -------------- # [3 1 2 6 4 5] # -------------- # [3 1 2 6 4 5]
函数 | 描述 |
---|---|
transpose | 对换数组的维度 |
ndarray.T | 和 self.transpose() 相同 |
rollaxis | 向后滚动指定的轴 |
swapaxes | 对换数组的两个轴 |
函数用于对换数组的维度,格式如下:
transpose(arr, axes)
参数说明:
参数 | 描述 |
---|---|
arr | 要操作的数组 |
axes | 整数列表,对应维度,通常所有维度都会对换。 |
x = np.array([[3, 1, 2], [6, 4, 5]]) y = np.transpose(x) z = x.T print(x) print('-----------------') print(y) print('-----------------') print(z) # output: # [[3 1 2] # [6 4 5]] # ----------------- # [[3 6] # [1 4] # [2 5]] # ----------------- # [[3 6] # [1 4] # [2 5]]
函数向后滚动特定的轴到一个特定位置,格式如下:
rollaxis(arr, axis, start)
参数说明:
参数 | 描述 |
---|---|
arr | 数组 |
axis | 要向后滚动的轴,其它轴的相对位置不会改变 |
start | 默认为零,表示完整的滚动。会滚动到特定位置 |
a = np.arange(8).reshape(2,2,2)
print ('原数组:')
print (a)
print ('\n')
# 现在交换轴 0(深度方向)到轴 2(宽度方向)
print ('调用 swapaxes 函数后的数组:')
print (np.swapaxes(a, 2, 0))
维度 | 描述 |
---|---|
broadcast |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。