原型:reshape(shape, order='C')
作用:不改变数据的条件下修改形状
| 参数 | 说明 |
|---|---|
| shape | 形状 |
| order | ‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序 |
原型:flatten(order='C')
作用:展平的数组元素并拷贝一份,顺序通常是"C风格"
注意:修改返回的数组不会对原数组产生影响
| 参数 | 说明 |
|---|---|
| order | ‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序 |
原型:numpy.ravel(order='C')
作用:展平的数组元素,顺序通常是"C风格",返回的是数组视图(view,有点类似 C/C++引用reference的意味)
注意:修改会影响原始数组
二、翻转数组 1.transpose()方法
原型:numpy.transpose(a, axes=None)
作用:对换数组的维度
注意:修改会影响原始数组
| 参数 | 说明 |
|---|---|
| a | 要操作的数组 |
| axes | 整数列表,对应维度,通常所有维度都会对换 |
类似 numpy.transpose
原型:numpy.rollaxis(a, axis, start=0)
作用:向后滚动特定的轴到一个特定位置
| 参数 | 说明 |
|---|---|
| a | 要操作的数组 |
| axis | 要向后滚动的轴,其它轴的相对位置不会改变 |
| start | 默认为零,表示完整的滚动 会滚动到特定位置 |
原型:numpy.swapaxes(a, axis1, axis2)
作用:交换数组的两个轴
| 参数 | 说明 |
|---|---|
| a | 要操作的数组 |
| axis1 | 对应第一个轴的整数 |
| axis2 | 对应第二个轴的整数 |
三、修改数组维度 1.bradcast()方法
用于模仿广播的对象,它返回一个对象,该对象封装了将一个数组广播到另一个数组的结果
原型:numpy.broadcast_to(array, shape, subok=False)
作用:将数组广播到新形状。它在原始数组上返回只读视图。 它通常不连续。 如果新形状不符合 NumPy 的广播规则,该函数可能会抛出ValueError
原型:numpy.squeeze(arr, axis=None)
作用:通过在指定位置插入新的轴来扩展数组形状
| 参数 | 说明 |
|---|---|
| arr | 输入数组 |
| axis | 新轴插入的位置 |
原型:numpy.squeeze(arr, axis)
作用:从给定数组的形状中删除一维的条目
| 参数 | 说明 |
|---|---|
| arr | 输入数组 |
| axis | 删除轴的位置 |
四、连接数组 1.concatenate()方法
原型:numpy.concatenate((a1, a2, ...), axis)
作用:用于沿指定轴连接相同形状的两个或多个数组
| 参数 | 说明 |
|---|---|
| a1, a2, … | 相同类型的数组 |
| axis | 沿着它连接数组的轴,默认为 0 |
原型:numpy.stack(arrays, axis)
作用:用于沿新轴连接数组序列
| 参数 | 说明 |
|---|---|
| arrays | 相同形状的数组序列 |
| axis | 数组中的轴,输入数组沿着它来堆叠 |
是 numpy.stack 函数的变体,它通过水平堆叠来生成数组
4.vsatc()方法是 numpy.stack 函数的变体,它通过垂直堆叠来生成数组
五、分割数组 1.split()方法
原型:numpy.split(ary, indices_or_sections, axis=0)
作用:函数沿特定的轴将数组分割为子数组
| 参数 | 说明 |
|---|---|
| ary | 被分割的数组 |
| indices_or_sections | 是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置(左开右闭) |
| axis | 沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分 |
用于水平分割数组,通过指定要返回的相同形状的数组数量来拆分原数组
3.vsplit()方法沿着垂直轴分割,其分割方式与hsplit用法相同
六、数组元素的添加与删除 1.resize()
原型:numpy.resize(arr, shape)
作用:返回指定大小的新数组
| 参数 | 说明 |
|---|---|
| arr | 要修改大小的数组 |
| shape | 返回数组的新形状 |
原型:numpy.append(arr, values, axis=None)
作用:
- 在数组的末尾添加值
- 追加操作会分配整个数组,并把原来的数组复制到新数组中
- 输入数组的维度必须匹配否则将生成ValueError
| 参数 | 说明 |
|---|---|
| arr | 输入数组 |
| values | 要向arr添加的值,需要和arr形状相同(除了要添加的轴) |
| axis | 默认为 None。当axis无定义时,是横向加成,返回总是为一维数组!当axis有定义的时候,分别为0和1的时候。为0的时候(列数要相同)。当axis为1时,数组是加在右边(行数要相同) |
原型:numpy.insert(arr, obj, values, axis)
作用:在给定索引之前,沿给定轴在输入数组中插入值
注意:如果值的类型转换为要插入,则它与输入数组不同。 插入没有原地的,函数会返回一个新数组。 此外,如果未提供轴,则输入数组会被展开
| 参数 | 说明 |
|---|---|
| arr | 输入数组 |
| obj | 在其之前插入值的索引 |
| values | 要插入的值 |
| axis | 沿着它插入的轴,如果未提供,则输入数组会被展开 |
原型:numpy.delete(arr, obj, axis)
作用:返回从输入数组中删除指定子数组的新数组。 与 insert() 函数的情况一样,如果未提供轴参数,则输入数组将展开
| 参数 | 说明 |
|---|---|
| arr | 输入数组 |
| obj | 可以被切片,整数或者整数数组,表明要从输入数组删除的子数组 |
| axis | 沿着它删除给定子数组的轴,如果未提供,则输入数组会被展开 |
原型:numpy.unique(arr, return_index, return_inverse, return_counts)
作用:去除数组中的重复元素
| 参数 | 说明 |
|---|---|
| arr | 输入数组,如果不是一维数组则会展开 |
| return_index | 如果为true,返回新列表元素在旧列表中的位置(下标),并以列表形式储 |
| return_inverse | 如果为true,返回旧列表元素在新列表中的位置(下标),并以列表形式储 |
| return_counts | 如果为true,返回去重数组中的元素在原数组中的出现次数 |



