Python学习 Day70 numpy数组操作 02

numpy数组操作

一、修改数组形状

1.reshape()方法

原型:reshape(shape, order='C')
作用:不改变数据的条件下修改形状

参数 说明
shape 形状
order ‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序

在这里插入图片描述

2.flat数组元素迭代器

在这里插入图片描述

3.flatten()方法

原型:flatten(order='C')
作用:展平的数组元素并拷贝一份,顺序通常是"C风格"

注意:修改返回的数组不会对原数组产生影响

参数 说明
order ‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序

在这里插入图片描述
在这里插入图片描述

4.ravel()方法

原型:numpy.ravel(order='C')
作用:展平的数组元素,顺序通常是"C风格",返回的是数组视图(view,有点类似 C/C++引用reference的意味)
注意:修改会影响原始数组

在这里插入图片描述
在这里插入图片描述


二、翻转数组

1.transpose()方法

原型:numpy.transpose(a, axes=None)
作用:对换数组的维度
注意:修改会影响原始数组

参数 说明
a 要操作的数组
axes 整数列表,对应维度,通常所有维度都会对换

在这里插入图片描述

2.ndarray.T属性

类似 numpy.transpose
在这里插入图片描述

3.rollaxis()方法

原型:numpy.rollaxis(a, axis, start=0)
作用:向后滚动特定的轴到一个特定位置

参数 说明
a 要操作的数组
axis 要向后滚动的轴,其它轴的相对位置不会改变
start 默认为零,表示完整的滚动
会滚动到特定位置

在这里插入图片描述
在这里插入图片描述

4.swapaxes()方法

原型:numpy.swapaxes(a, axis1, axis2)
作用:交换数组的两个轴

参数 说明
a 要操作的数组
axis1 对应第一个轴的整数
axis2 对应第二个轴的整数

在这里插入图片描述


三、修改数组维度

1.bradcast()方法

用于模仿广播的对象,它返回一个对象,该对象封装了将一个数组广播到另一个数组的结果
在这里插入图片描述

2.broadcast_to()方法

原型:numpy.broadcast_to(array, shape, subok=False)
作用:将数组广播到新形状。它在原始数组上返回只读视图。 它通常不连续。 如果新形状不符合 NumPy 的广播规则,该函数可能会抛出ValueError
在这里插入图片描述

3.expand_dims()方法

原型:numpy.squeeze(arr, axis=None)
作用:通过在指定位置插入新的轴来扩展数组形状

参数 说明
arr 输入数组
axis 新轴插入的位置

在这里插入图片描述

4.squeeze()方法

原型:numpy.squeeze(arr, axis)
作用:从给定数组的形状中删除一维的条目

参数 说明
arr 输入数组
axis 删除轴的位置

在这里插入图片描述
在这里插入图片描述


四、连接数组

1.concatenate()方法

原型:numpy.concatenate((a1, a2, ...), axis)
作用:用于沿指定轴连接相同形状的两个或多个数组

参数 说明
a1, a2, … 相同类型的数组
axis 沿着它连接数组的轴,默认为 0

在这里插入图片描述
在这里插入图片描述

2.stack()方法

原型:numpy.stack(arrays, axis)
作用:用于沿新轴连接数组序列

参数 说明
arrays 相同形状的数组序列
axis 数组中的轴,输入数组沿着它来堆叠

在这里插入图片描述
在这里插入图片描述

3.hstack()方法

是 numpy.stack 函数的变体,它通过水平堆叠来生成数组

在这里插入图片描述

4.vsatc()方法

是 numpy.stack 函数的变体,它通过垂直堆叠来生成数组

在这里插入图片描述


五、分割数组

1.split()方法

原型:numpy.split(ary, indices_or_sections, axis=0)
作用:函数沿特定的轴将数组分割为子数组

参数 说明
ary 被分割的数组
indices_or_sections 是一个整数,就用该数平均切分,如果是一个数组,为沿轴切分的位置(左开右闭)
axis 沿着哪个维度进行切向,默认为0,横向切分。为1时,纵向切分

在这里插入图片描述
在这里插入图片描述

2.hsplit()方法

用于水平分割数组,通过指定要返回的相同形状的数组数量来拆分原数组

在这里插入图片描述

3.vsplit()方法

沿着垂直轴分割,其分割方式与hsplit用法相同

在这里插入图片描述


六、数组元素的添加与删除

1.resize()

原型:numpy.resize(arr, shape)
作用:返回指定大小的新数组

参数 说明
arr 要修改大小的数组
shape 返回数组的新形状

在这里插入图片描述

2.append()

原型:numpy.append(arr, values, axis=None)
作用:

  • 在数组的末尾添加值
  • 追加操作会分配整个数组,并把原来的数组复制到新数组中
  • 输入数组的维度必须匹配否则将生成ValueError
参数 说明
arr 输入数组
values 要向arr添加的值,需要和arr形状相同(除了要添加的轴)
axis 默认为 None。当axis无定义时,是横向加成,返回总是为一维数组!当axis有定义的时候,分别为0和1的时候。为0的时候(列数要相同)。当axis为1时,数组是加在右边(行数要相同)

在这里插入图片描述

在这里插入图片描述

3.insert()

原型:numpy.insert(arr, obj, values, axis)
作用:在给定索引之前,沿给定轴在输入数组中插入值
注意:如果值的类型转换为要插入,则它与输入数组不同。 插入没有原地的,函数会返回一个新数组。 此外,如果未提供轴,则输入数组会被展开

参数 说明
arr 输入数组
obj 在其之前插入值的索引
values 要插入的值
axis 沿着它插入的轴,如果未提供,则输入数组会被展开

在这里插入图片描述

4.delete()

原型:numpy.delete(arr, obj, axis)
作用:返回从输入数组中删除指定子数组的新数组。 与 insert() 函数的情况一样,如果未提供轴参数,则输入数组将展开

参数 说明
arr 输入数组
obj 可以被切片,整数或者整数数组,表明要从输入数组删除的子数组
axis 沿着它删除给定子数组的轴,如果未提供,则输入数组会被展开

在这里插入图片描述

5.unique()

原型:numpy.unique(arr, return_index, return_inverse, return_counts)
作用:去除数组中的重复元素

参数 说明
arr 输入数组,如果不是一维数组则会展开
return_index 如果为true,返回新列表元素在旧列表中的位置(下标),并以列表形式储
return_inverse 如果为true,返回旧列表元素在新列表中的位置(下标),并以列表形式储
return_counts 如果为true,返回去重数组中的元素在原数组中的出现次数

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ShengXIABai/article/details/121188609