numpy学习之四:数组操作

NumPy 迭代数组
NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式。

迭代器最基本的任务的可以完成对数组元素的访问。

接下来我们使用 arange() 函数创建一个 2X3 数组,并使用 nditer 对它进行迭代。
numpy学习之四:数组操作_第1张图片
控制遍历顺序
for x in np.nditer(a, order=‘F’):Fortran order,即是列序优先;
for x in np.nditer(a.T, order=‘C’):C order,即是行序优先;
numpy学习之四:数组操作_第2张图片
numpy学习之四:数组操作_第3张图片
numpy学习之四:数组操作_第4张图片
修改数组中元素的值
nditer 对象有另一个可选参数 op_flags。 默认情况下,nditer 将视待迭代遍历的数组为只读对象(read-only),为了在遍历数组的同时,实现对数组元素值得修改,必须指定 read-write 或者 write-only 的模式。
numpy学习之四:数组操作_第5张图片
Numpy 数组操作
numpy学习之四:数组操作_第6张图片
numpy.reshape
numpy.reshape 函数可以在不改变数据的条件下修改形状,格式如下: numpy.reshape(arr, newshape, order=‘C’)
arr:要修改形状的数组
newshape:整数或者整数数组,新的形状应当兼容原有形状
order:‘C’ – 按行,‘F’ – 按列,‘A’ – 原顺序,‘k’ – 元素在内存中的出现顺序。
numpy学习之四:数组操作_第7张图片
numpy.ndarray.flat
numpy.ndarray.flat 是一个数组元素迭代器,实例如下:
numpy学习之四:数组操作_第8张图片
numpy.ndarray.flatten
numpy.ndarray.flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组,格式如下:
numpy学习之四:数组操作_第9张图片
numpy.ravel
numpy.ravel() 展平的数组元素,顺序通常是"C风格",返回的是数组视图(view,有点类似 C/C++引用reference的意味),修改会影响原始数组。

该函数接收两个参数:
numpy学习之四:数组操作_第10张图片
翻转数组
numpy学习之四:数组操作_第11张图片
numpy学习之四:数组操作_第12张图片
numpy.ndarray.T 类似 numpy.transpose:
numpy学习之四:数组操作_第13张图片
连接数组
numpy学习之四:数组操作_第14张图片
numpy学习之四:数组操作_第15张图片
分割数组
numpy学习之四:数组操作_第16张图片
numpy学习之四:数组操作_第17张图片
axis 为 0 时在水平方向分割,axis 为 1 时在垂直方向分割:
numpy学习之四:数组操作_第18张图片
numpy学习之四:数组操作_第19张图片
numpy.hsplit
numpy.hsplit 函数用于水平分割数组,通过指定要返回的相同形状的数组数量来拆分原数组。
numpy学习之四:数组操作_第20张图片
numpy.vsplit
numpy.vsplit 沿着垂直轴分割,其分割方式与hsplit用法相同。
numpy学习之四:数组操作_第21张图片
数组元素的添加与删除
numpy.append
numpy.append 函数在数组的末尾添加值。 追加操作会分配整个数组,并把原来的数组复制到新数组中。 此外,输入数组的维度必须匹配否则将生成ValueError。
append 函数不会改变原有数组的值,返回一个新的数组.
numpy学习之四:数组操作_第22张图片
不指定axis时,总是返回一维展开数组numpy学习之四:数组操作_第23张图片
注:concatenate( )可以连接多个数组,而且多维数组的shape需要完全相同;append( )只能连接2个,而且多维数组的shape不需要相同
注:append( )不指定axis时,总是返回一维展开数组
numpy.insert
numpy.insert 函数在给定索引之前,沿给定轴在输入数组中插入值。
如果值的类型转换为要插入,则它与输入数组不同。 插入没有原地的,函数会返回一个新数组。 此外,如果未提供轴,则输入数组会被展开。
numpy学习之四:数组操作_第24张图片
numpy学习之四:数组操作_第25张图片
numpy.delete
numpy.delete 函数返回从输入数组中删除指定子数组的新数组。 与 insert() 函数的情况一样,如果未提供轴参数,则输入数组将展开。
numpy学习之四:数组操作_第26张图片
numpy学习之四:数组操作_第27张图片
numpy.unique
numpy.unique 函数用于去除数组中的重复元素。
numpy学习之四:数组操作_第28张图片
numpy学习之四:数组操作_第29张图片
numpy学习之四:数组操作_第30张图片

你可能感兴趣的:(numpy)