Python的常用库及区别——numpy、pandas、matplotlib、scipy
1.Numpy
numpy是python科学计算的基础包,好多算法都是基于numpy构建的。其功能有:
- 快速高效的多维数组ndarray
- 用于对数组执行元素及计算以及直接对数组执行数字运算的函数
- 用于读写硬盘上给予数组的数据集的工具
- 线性代数运算、傅里叶变换、以及随机数生成
- 用于将C,C++,Fortran代码集成到python的工具
除了为python提供快速的数组处理能力,numpy的数组比python自带的数组效率高得多,二者区别如下:
① 二者都可以用于处理多维数组。
numpy中的ndarray对象用于处理多维数组,它作为一个快速而灵活的大数据容器。
python中的list可以存储一维数组,通过列表的嵌套可以实现多维数组。
② 存储效率和输入输出性能不同
numpy专门针对数组的操作和运算进行了设计,存储效率和输入输出性能远优于python中的list,数组越大,numpy的优势就越明显。
2.Pandas
- pandas提供了使我们能够快速边界处理结构化数据的大量数据结构和函数。他是python进行数据分析的重要库之一。pandas的dataframe对象是一个面向列的二维表结构,且含有行标和列标。属性包含value、column、index等。
- pandas兼具numpy高性能的数组计算功能以及电子表格和关系型数据库(SQL)灵活的数据处理功能。做数据处理和数据分析时用pandas用的比较多。
- pandas的数组结构有一维series和二维dataframe
3.Matplotlib
Matplotlib是python中常用的2D绘图库,用于绘制数据图表,生成出版物质量的图形,通常与numpy和pandas一起使用,是数据分析中的重要工具之一。
4.Scipy
Scipy也是基于numpy的用于数据操作的库,与以上的库不同的是,它其中包含了很多数学、物理、计算中常用的库函数。
5.区别
- 通俗的讲,pandas类似于excel软件,而scipy就像excel里面的函数算法包,numpy就是构成excel的基础底层语句。
- pandas适合进行数据处理,scipy适合进行数学计算,而numpy是组成它们的重要部分,是构建它们的基础库。