1.1本书的内容
要处理的数据类型,结构化数据如下等:
表格型数据,其中各列可能是不同的类型(字符串、数值、 ⽇期等)。
多维数组(矩阵)。
通过关键列(对于SQL⽤户⽽⾔,就是主键和外键)相互联系的多个表。
间隔平均或不平均的时间序列。
json类型数据
1.2为什么要使⽤Python进⾏数据分析
Python的库的强大,如pandas和scikit-learn、matplotlib等
1.3重要的Python库
以下三个标准库是学习的重点:NumPy,pandas,matplotlib,还包括:SciPy,scikit-learn,statsmodels等
NumPy:
快速高效的多维数组对象ndarray;
对数组执行元素级计算以及直接对数组执行数据运算的函数;
读写硬盘上基于数组的数据集工具;
线性代数运算、傅里叶变换及随机数的形成;
成熟的C API
pandas:使用最多的pandas对象是DataFrame,它是⼀个⾯向列(column-oriented)的⼆维表结构,另⼀个是 Series,⼀个⼀维的标签化数组对象。pandas重要的功能是完成重塑、切片、切块、聚合和选取数据子集的操作,是数据分析的基础。
matplotlib:最流行的用于绘制图表和其他二维可视化的工具。
SciPy:一组专门解决科学计算中各种标准问题域的包的集合,主要包括:
scipy.integrate:数值积分例程和微分方程求解器。
scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能。
scipy.optimize:函数优化器(最小化器)以及根查找算法。
scipy.signal:信号处理⼯具。
scipy.sparse:稀疏矩阵和稀疏线性系统求解器。
scipy.special:SPECFUN(这是⼀个实现了许多常⽤数学函数(如伽玛函数)的Fortran库)的包装器。
scipy.stats:标准连续和离散概率分布(如密度函数、采样器、连续分布函数等)、各种统计检验方法,以及更好的描述统计法。
SciPy常和NumPy一起用。
scikit-learn:通用机器学习工具包,包括
分类:sum、近邻、随机森林、逻辑回归等,
回归:lasso、岭回归等,
聚类:k-均值,普聚类,
降维:PCA、特征选择、矩阵分解,
选型:网络搜索、交叉验证、度量,
预处理:特征提取、标准化处理。
statsmodels:statsmodels是⼀个统计分析包,包含经典统计学和经济计量学的算法,包括子模块:
回归模型:线性回归、广义线性模型、健壮线性模型,线性混合效应模型等等。
方差分析。
时间序列分析:AR,ARMA,ARIMA,VAR和其它模型。
非参数方法:核密度估计,核回归。
统计模型结果可视化。
statsmodels更关注统计推断,提供不确定估计和参数p-值。相反的,scikit-learn注重预测。