Python数据处理-Numpy基础入门,数组/字节/数据操作

温馨提示:阅读本文只需要3分钟,您就可以掌握概览全数组的操作方法和数组数据编程思想。

Numpy是我们大数据处理、机器学习等的重要基础,我们想要打好基础。上一文中《 》,我们基本入门数组学习,今天继续学习分享数组、字节、字符串的操作。这些都是基础的知识,但是都是很重点的。

我们要学会那种思想,面对一个array数组无非都是这些操作,而这个思想很重要,就是编程思想。我们一面对数据问题,都能想到这些操作与运算,就是说明你掌握了基础的编程思想。

Python数据处理-Numpy基础入门,数组/字节/数据操作

编程思维

我们初学者经常苦恼,那么多的函数我们怎么记得了啊。其实我们不需要记住那些函数的名字,其实只要我们理解掌握数据操作的思维,我们就知道清楚数据可以进行那些方向方面的操作,查找API文档即可,不需要记住函数具体名字。数据的操作思维,就是我们的编程思维。

一 数组操作

通常我们都是对ndarray对象进行操作。主要操作分为:变换(变形)、转置操作、改变维度、链接数组、分割数组、元素增删。都是些基础的操作知识。

1.变换形状:

numpy.reshape(arr, newshape, order')

本质:就是矩阵形状变换,例如3行4列的数组,转换成2行6列,但是行数乘列数的积不能变(即:不管形状怎么变,里面的元素个数不能变)

Python数据处理-Numpy基础入门,数组/字节/数据操作

numpy.ndarray.flat[index]取数组值

Python数据处理-Numpy基础入门,数组/字节/数据操作

这里涉及到一个按行存储还是按照列存储的问题,一般都是按照行存储。

Python数据处理-Numpy基础入门,数组/字节/数据操作

ndarray.flatten(order) :

将数组转换成一维数组,只是副本copy,不改变原来的数据

numpy.ravel(a, order):

也是返回一个一维数组,扁平数组,也只是返回一个copy

Python数据处理-Numpy基础入门,数组/字节/数据操作

Python数据处理-Numpy基础入门,数组/字节/数据操作

2.转置操作

numpy.transpose(arr, axes)

数组转置(与numpy.ndarray.T一样):

Python数据处理-Numpy基础入门,数组/字节/数据操作

转置的数学原理:行列对换

Python数据处理-Numpy基础入门,数组/字节/数据操作

3.改变维度

numpy.broadcast(x,y):

两个同纬度的进行广播操作,将x广播到y,及等同于x+y

Python数据处理-Numpy基础入门,数组/字节/数据操作

numpy.broadcast_to(array, shape, subok):

将array广播到新形数组

numpy.expand_dims(arr, axis)

扩展维度,原数组,新扩展的一维的位置

Python数据处理-Numpy基础入门,数组/字节/数据操作

numpy.squeeze(arr, axis)

降维操作,删除数组中一维的数据

Python数据处理-Numpy基础入门,数组/字节/数据操作

4.拼接数组

numpy.concatenate((a1, a2, ...), axis)

相同shape形状的数组拼接在一起,注意指定的axis拼接

Python数据处理-Numpy基础入门,数组/字节/数据操作

numpy.stack(arrays, axis)

按位置堆加

Python数据处理-Numpy基础入门,数组/字节/数据操作

numpy.hstack(x,y)

水平拼接两个数组,同理vstack是垂直拼接

Python数据处理-Numpy基础入门,数组/字节/数据操作

5.分割数组

numpy.split(ary, indices_or_sections, axis)

按照指定轴分割子数组,可以按段分或者指定位置分

Python数据处理-Numpy基础入门,数组/字节/数据操作

numpy.hsplit(ary,index)

按照垂直第几列开始分割,同理vsplit()

Python数据处理-Numpy基础入门,数组/字节/数据操作

6.增删数组元素

numpy.resize(arr, shape)改变大小尺度维度等,之前的reshape是变形,但是,不会改变元素的个数。而resize会变形并且自动填充原来的数据

Python数据处理-Numpy基础入门,数组/字节/数据操作

numpy.append(arr, values, axis)追加一行或者一列

Python数据处理-Numpy基础入门,数组/字节/数据操作

numpy.insert(arr, obj, values, axis)插入操作

Numpy.delete(arr, obj, axis)删除操作

numpy.unique(arr, return_index, return_inverse, return_counts)查找数组中唯一的元素,一维为去重复,二维及唯一序列,三维及坐标轴等等

Python数据处理-Numpy基础入门,数组/字节/数据操作

二字节操作

我们对字节数据通常是按照位操作,主要是:与(and)、或(or)、非(invert)、左位移、右位移动。也是基础的操作知识。

bitwise_and 按位与操作

Python数据处理-Numpy基础入门,数组/字节/数据操作

Python数据处理-Numpy基础入门,数组/字节/数据操作

bitwise_or 按位或操作

Python数据处理-Numpy基础入门,数组/字节/数据操作

Python数据处理-Numpy基础入门,数组/字节/数据操作

numpy.invert()

按位非操作

Python数据处理-Numpy基础入门,数组/字节/数据操作

numpy.left_shift()numpy.right_shift()

按位左右移动

Python数据处理-Numpy基础入门,数组/字节/数据操作

三总结

本文我们学习了,数组的基本操作,知道数据可以这么操作,而这些操作的思路方向,正是编程思想。

下一文我们将继续面对向量字符串数组进行操作,敬请关注

Python数据处理-Numpy基础入门,数组/字节/数据操作

非常感谢您的细心阅读,喜欢请关注 今日头条号,我们将创作Python如何进行数据处理、数据分析等原创作品,来实现挖掘数据的价值,谢谢!


分享到:


相關文章: