读书笔记:《利用Python进行数据分析》之 Python 及其类库概述

  • Python 是当下非常流行的解释性语言

Python作为一种面向对象的脚本语言,可以用于快速编写小型程序、脚本或对其他任务进行自动化,也可以基于Rails和Django等众多web框架进行网站搭建。由于近年Python提高了对类库的支持(如pandas、scikit-learn),使得在数据分析领域本就与R、MATLAB、SAS、Stata等编程语言、工具水平相当的Python更加流行。因此,Python逐渐在数据科学、机器学习、交互式计算、数据可视化和学术/工业界通用软件开发等领域成为最重要的语言之一。 

  • Python作为“胶水语言”

大部分现代计算环境都有相似的使用FORTRAN和C的库进行线性代数、调优、积分、快速傅里叶变换等算法运算的存量程序集,而Python很容易整合C、C++和FORTRAN等语言的代码,同时又因为胶水代码的执行时间大多数情况下可以忽略不计,因而很多公司和国家实验室都使用Python将过去的存量软件黏合在一起,这也是为什么Python在科学计算方面如此成功。

  • Python解决“双语言”难题

通常人们在开发过程中会维持两个开发环境,比如用SAS或R针对想法进行研究、原型实现和测试,之后再将其迁移到用Java、C或C++编写的大型生产环境上,而Python能够兼顾研究人员和软件工程师,不但适用于研究和原型实现,也适合搭建生产系统,这种使用相同程序工具集即一种语言路线来满足需求的好处就越发明显。 

  • 重要的Python库

   1.NumPy

 NumPy提供多种数据结构、算法以及大部分涉及Python数值计算所需的接口。它能够高效、快速地对数据进行处理且底层语言编写的库也能直接在NumPy数组存储的数据上操作,在算法和库之间还能作为数据传递的数据容器,因此NumPy数组常作为Python数值计算工具的基础数据结构。 

   2.pandas 

 pandas提供了高级数据结构和函数,将表格和关系型数据库的灵活数据操作能力与NumPy的高性能数组计算的理念相结合,尤其擅长深度时间序列和处理商业进程中产生的时间索引数据,其提供的索引函数使得数据的重组、切块、切片、聚合、子集选择更为简单,这些设计也使得利用结构化、表格化数据的工作快速、有表现力 。

   3.matplotlib 

  matplotlib是最流行的用于制图及其他二维数据可视化的Python库,能够与其他库良好整合,因而选择它作为制图工具也是一个安全的选择。

   4.IPython与Jupyter 

 IPython目前已成为提供交互性、探索性高效环境的Jupyter开源项目中的一个组件,可以支持超过40种编程语言。由于数据分析编码工作包含大量的探索、试验、试错和遍历,IPython作为加强版的Python命令行,可以提高编写、测试、调试Python代码的速度。

   5.SciPy

  SciPy是科学计算领域针对不同标准问题域的包集合,包括数值积分例程和微分方程求解器、矩阵分解、函数优化器、信号处理工具、稀疏矩阵与稀疏线性系统求解器、SPECFUN包装器、各类统计测试等。 

   6.scikit-learn

 scikit-learn已成为Python编程者首选的机器学习工具包, 包含分类(SVM、最近邻、随机森林、逻辑回归等)、回归(Lasso、岭回归等)、聚类(k-means、谱聚类等)、降维(PCA、特征选择、矩阵分解等)、模型选择(网格搜索、交叉验证、指标矩阵)、预处理(特征提取、正态化)子模块,其功能更专注于预测。

   7. statsmodels

 statsmodels是一个统计分析包,最初源自利用R语言实现的各类分析模型,包含经典的统计学、经济学算法,比如回归模型(线性回归、鲁棒线性模型、先行混合效应模型等)、方差分析(ANOVA)、时间序列分析(AR、ARMA、ARIMA、VAR等)、非参数方法(核密度估计、核回归)、统计模型结果可视化,其功能更专注于统计推理,提供不确定性评价和p值参数。

你可能感兴趣的:(读书笔记:《利用Python进行数据分析》之 Python 及其类库概述)