Numpy常用API------数组

数组属性

NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。
很多时候可以声明 axis。axis=0,表示沿着第 0 轴进行操作,即对每一列进行操作;axis=1,表示沿着第1轴进行操作,即对每一行进行操作

属性 说明
ndarray.ndim 秩,即轴的数量或维度的数量
ndarray.shape 数组的维度,对于矩阵,n 行 m 列
ndarray.size 数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtype ndarray 对象的元素类型
ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
ndarray.flags ndarray 对象的内存信息
ndarray.real ndarray元素的实部
ndarray.image ndarray 元素的虚部

Numpy创建数组
方法 用法 参数说明(相同参数不重复说明)
numpy.empty
(创建一个空数组)
numpy.empty(shape, dtype = float, order = ‘C’) shape 数组形状
dtype 数组类型
order “C” 用于C的航数组 或者’F’用于FORTRAN的列数组
numpy.zeros
(创建一个指定大小的数组,用0填充)
numpy.zeros(shape, dtype = float, order = ‘C’)
numpy.ones
( 创建指定形状的数组,数组元素以 1 来填充 )
numpy.ones(shape, dtype = None, order = ‘C’)

Numpy 从数值范围创建数组从已有数组创建数组
方法 用法 参数说明(相同参数不重复说明)
numpy.arange
(numpy 包中的使用 arange 函数创建数值范围并返回 ndarray 对象)
numpy.arange(start, stop, step, dtype) start 起始值 默认0
stop 终止值
step 步长 默认1
dtype 返回的ndarray数据类型
numpy.linspace
(函数用于创建一个一维数组,数组是一个等差数列构成的)
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) num 生成等步长的样本量
endpoint 该值为 ture 时,数列中中包含stop值,反之不包含,默认是True。
retstep 如果为 True 时,生成的数组中会显示间距,反之不显示。
numpy.logspace
(函数用于创建一个于等比数列)
np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None) base 对数 log 的底数。

Numpy 数组操作
方法 用法 参数说明(相同参数不重复说明)
numpy.reshape
(函数可以在不改变数据的条件下修改形状)
numpy.reshape(arr, newshape, order=‘C’) arr:要修改形状的数组
newshape:整数或者整数数组,新的形状应当兼容原有形状
order:‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序。
numpy.ndarray.flat
(元素迭代器)
a = np.arange(9).reshape(3,3)
for element in a.flat:
print (element)
输出:0\n1\n2\n3\n4\n5\n6\n7\n8(换行符\n)
numpy.ndarray.flatten
(返回一份数组拷贝,对拷贝所做的修改不会影响原始数组)
ndarray.flatten(order=‘C’)
numpy.ravel
(展平的数组元素)
numpy.ravel(a, order=‘C’)
numpy.transpose
numpy.ndarray.T
(对换数组的维度)
numpy.transpose(arr, axes)
a = np.arange(12).reshape(3,4)
a.T(行列互换)
arr:要操作的数组
axes:整数列表,对应维度,通常所有维度都会对换

连接数组
方法 用法 参数说明(相同参数不重复说明)
numpy.concatenate
(沿指定轴连接相同形状的两个或多个数组)
numpy.concatenate((a1, a2, …), axis) a1, a2, …:相同类型的数组
axis:沿着它连接数组的轴,默认为 0
numpy.stack
(用于沿新轴连接数组序列)
numpy.stack(arrays, axis) arrays:相同形状的数组序列
axis:返回数组中的轴,输入数组沿着它来堆叠
numpy.hstack
(通过水平堆叠来生成数组)
numpy.hstack(arr1,arr2)
numpy.vstack
(通过垂直堆叠来生成数组)
numpy.hstack(arr1,arr2)

数组元素的添加与删除
方法 用法 参数说明(相同参数不重复说明)
numpy.split
(分割数组)
numpy.split(ary, indices_or_sections, axis) ary:被分割的数组
indices_or_sections:果是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置(左开右闭)
axis:沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分
numpy.hsplit
(用于水平分割数组,指定要返回的相同形状的数组数量来拆分原数组)
numpy.hsplit(arr,)
numpy.vsplit
(用于垂直分割数组)

数组元素的添加与删除
方法 用法 参数说明(相同参数不重复说明)
numpy.resize
(返回指定形状的新数组)
numpy.resize(arr, shape) arr:要修改大小的数组
shape:返回数组的新形状
numpy.append
(数组的末尾添加值。 追加操作会分配整个数组,并把原来的数组复制到新数组中)
numpy.append(arr, values, axis=None) arr:输入数组
values:要向arr添加的值,需要和arr形状相同(除了要添加的轴)
axis:默认为 None。当axis无定义时,是横向加成
当axis为0时,数组是加在下面(行数要相同)
当axis为1时,数组是加在右边(行数要相同)
numpy.insert
(在给定索引之前,沿给定轴在输入数组中插入值,如果未提供轴,则输入数组会被展开)
numpy.insert(arr, obj, values, axis) arr:输入数组
obj:在其之前插入值的索引
values:要插入的值
axis:沿着它插入的轴,如果未提供,则输入数组会被展开
numpy.delete
(返回从输入数组中删除指定子数组的新数组。 与 insert() 函数的情况一样,如果未提供轴参数,则输入数组将展开)
numpy.delete(arr, obj, axis) arr:输入数组
obj:可以被切片,整数或者整数数组,表明要从输入数组删除的子数组
axis:沿着它删除给定子数组的轴,如果未提供,则输入数组会被展开
numpy.unique
(去除数组中的重复元素)
numpy.unique(arr, return_index, return_inverse, return_counts) arr:输入数组,如果不是一维数组则会展开
return_index:如果为true,返回新列表元素在旧列表中的位置(下标),并以列表形式储
return_inverse:如果为true,返回旧列表元素在新列表中的位置(下标),并以列表形式储
return_counts:如果为true,返回去重数组中的元素在原数组中的出现次数

猜你喜欢

转载自blog.csdn.net/u014258362/article/details/84873513
今日推荐