【Numpy】数据处理-Numpy库基本介绍

语言: CN / TW / HK

highlight: a11y-dark theme: qklhk-chocolate


携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第28天,点击查看活动详情

1. Numpy库介绍

Numpy是一个开源的Python科学计算库,用于快速处理任意维度的数组。

Numpy支持常见的数组和矩阵操作,对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。

Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。个人认为Numpy的数组与矩阵操作,与Matlab软件功能十分相似,同样也能够实现Matlab的一些功能。

2. ndarray介绍

Numpy提供了一个N维数组类型ndarray,它描述了相同类型的“item”的集合。

创建numpy数组的方式如下所示:使用np.array可以创建一个数组,用ndarray进行储存。下面代码中的np.array后面嵌套的是一个二维数组。

python import numpy as np score = np.array([[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]]) print(score) 运行结果如下图所示:

image.png

当然,使用Python列表可以存储一维数组,通过列表的嵌套可以实现多维数组。但是ndarray要比Python数组运算效率高很多,计算速度也快很多,这样就节约了大量时间,尤其是针对机器学习的运算。

机器学习的最大特点就是大量数据运算,那么如果没有一个快速的解决方案,那可能现在python也在机器学习领域达不到好的效果。

ndarray与Python的list对比: - list:分离式存储,存储内容多样化 - ndarray:一体式存储,存储类型必须一样 - ndarray支持并行化运算,其底层代码使用C语言编写的,效率更高。

注意:Numpy专门针对ndarray的操作和运算进行了设计(直接存储),所以数组的存储效率和输入输出性能远优于Python中的嵌套列表(先找地址,再找内容),数组越大,Numpy的优势就越凸显出来。

但是,Numpy存储的列表中内容的类型必须是相同的,Python列表既可以存储数据有可以同时存储字符串。