安装pandas
https://pandas.pydata.org/pandas-docs/stable/install.html
用pip3 install pandas
推荐使用https://docs.continuum.io/anaconda/install/ 安装
pandas
pandas这个名字源于panel data(面板数据,这是多维结构化数据集在计量经济学中的术语)以及Python data analysis(Python数据分析)。
pandas提供了快速便捷处理结构化数据的大量数据结构和函数。
官网文档:
特点:
- 运行效率较numpy底,但有更高级的特性,更适合初级用户使用。
- 兼具numpy的数组计算功能
- 电子表格和关系数据库的数据处理功能
- 提供丰富索引功能:重塑,切片,聚合,选取子集。
- 用的最多的是DataFrame面向列的二维表结构,和Series,一维度的标签化数组对象。
import pandas as pd
两种类型:
- series
- dataframe
NumPy
NumPy(Numerical Python的简称)是Python科学计算的核心库。Pandas, sklearn等都基于numpy进行二次开发包装的。功能强大,其余脚本构建了强大的数理计算功能,函数接口丰富。
NumPy比Pandas更抽象,所以Pandas使用更普遍。
但是Matlab是收费的。
- 高效快速的多维数组对象ndarray⚠️,进行数值计算,速度快于pandas。因此适合大数据分析。
- ndarray比list运算至少快10倍,甚至100倍。 例子见《利用python进行数据分析》第4章。
- 对数组执行元素级的计算和直接对数组执行数学运算的函数
- 线性代数,傅立叶变换,随机数生成等功能
- 将C,C++集成到Python工具
主要用途:为Python提供快速处理数组的能力,作为算法间传递数据的容器。
>>> import numpy as np >>> a = np.array([1,2,3,4]) >>> a.dtype dtype('int64')
- 使用array()创建一个array类型数据
- dtype查询内部数据类型。
使用Numpy的优点:
- 接近用C语言写的代码的执行速度,
- C语言面对多维的数据,要写大量代码,numpy极大简化了代码并基于python。
为什么Numpy很快?
使用了Vector化的编码。把循环,索引等等功能放到了代码的背后(即预编译的C代码),因此:
- Vectorized code变得简洁和可读性好
- 更少的代码,意味着bug也少,不容易人为❌。
- 代码看起来更像是标准的mathematical notation数学符号。
- Vectorization的结果更像Pythonic code。
官方简明教程:https://numpy.org/doc/1.18/user/index.html
matplotlib
matplotlib是最流行的用于绘制图表和其它二维数据可视化的Python库。
scikit-learn
2010年诞生以来,scikit-learn成为了Python的通用机器学习工具包。