n1_python数据分析()

1.Python语言及其特征

  • 优点:代码编写效率高;程序代码可读性强;可扩展性强;属于解释型语言,支持动态数据类型。
  • 缺点:① 属于解释型语言,代码执行速度较慢;② 在移动终端类应用中尚未普及;③ 与JDBC和ODBC相比,python数据库访问接口的功能和性能有待优化;④ python的部分特征虽然提高了程序员编写代码的效率,但是在计算机执行时容易引发运行时错误。
    从人的角度看,python优点很多;从计算机的角度看,python的缺点不少。
  • 在语法上,python 2.x与python 3.x的差异较大,python 3.x不支持向下兼容python 2.x(backward-compatible),但可以使用2to3(Automated Python 2 to 3 code translation)等工具将python 2.x的代码转换为python 3.x的代码。
  • 在数据科学中一般采用python或者R,而不用Java、C、C++、C#等语言的原因:
    ①程序语言设计的目的。Java、C等语言是为软件开发而设计的,不适合完成数据分析任务。如果使用Java、C去做的话,则大量的精力消耗在流程控制、数据结构的定义和算法的设计上,难以集中精力去处理数据问题。
    例如数据集的读写是数据分析中经常遇到的工作,如果用Java编写,需要多层for语句,非常繁琐。但是在python或R中,支持向量化计算,可以直接读写数据集(不需要for语句)。python和R采用泛型函数式编程,可以直接调用sort()函数来实现数据集的排序工作,不需要额外编写排序算法和代码。
    ②第三方扩展工具包/模块,更为重要。python和R并不是比Java、C更强,而是可以调用众多专门用于数据分析任务的第三方扩展包或模块。

2.面向数据分析的python编程

从数据分析的角度看,掌握基础语法和第三方工具包即可。

1)Python语言的基础语法

  • 变量及其定义方法
  • 运算符、表达式、语句
  • 数据类型和数据结构
  • 包与模块
  • 内置函数、模块函数和自定义函数
  • 迭代器与可迭代对象
  • 生成器与装饰器
  • 查看帮助信息的方法
  • 异常处理、当前工作目录与文件读写
  • 面向对象编程

2)第三方工具包

数据分析中通常使用已开发好的python第三方工具包,不是用python基础语法自行重新开发核心数据分析任务,主要原因在于:python第三方工具包不仅实现了数据分析的核心任务,降低数据分析的开发成本,同时对python基础语法进行了优化,提高了运行性能。

  • 基础类:pandas,numpy,scipy
  • 数据可视化类:matplotlib,seaborn,bokeh,basemap,plotly,networkx
  • 机器学习类:scikit-learn,pytorch,tensorflow,theano,keras
  • 统计建模类:statsmodels
  • 自然语言处理、数据挖掘及其他:nltk,gensim,scrapy,pattern,open-cv

3.Python IDE

① Jupyter Notebook、Jupyter Lab和Spyder:用于编写Python程序,是Python的编辑器

② Anaconda Prompt:用于编写PIP和Conda命令

③ Anaconda Navigator:用于显示Anaconda平台的各组成成分

Jupyter Lab以B/S模式执行,而其中编写的Python代码以Cell(代码单元格)为单位进行组织和执行;每个Cell的执行顺序由程序员执行时随意指定,而并非由Cell的显示前后顺序和代码之间的逻辑关系决定。Cell的多次执行可以导致变量的当前值随之变化。

————————

1.Python语言及其特征

  • 优点:代码编写效率高;程序代码可读性强;可扩展性强;属于解释型语言,支持动态数据类型。
  • 缺点:① 属于解释型语言,代码执行速度较慢;② 在移动终端类应用中尚未普及;③ 与JDBC和ODBC相比,python数据库访问接口的功能和性能有待优化;④ python的部分特征虽然提高了程序员编写代码的效率,但是在计算机执行时容易引发运行时错误。
    从人的角度看,python优点很多;从计算机的角度看,python的缺点不少。
  • 在语法上,python 2.x与python 3.x的差异较大,python 3.x不支持向下兼容python 2.x(backward-compatible),但可以使用2to3(Automated Python 2 to 3 code translation)等工具将python 2.x的代码转换为python 3.x的代码。
  • 在数据科学中一般采用python或者R,而不用Java、C、C++、C#等语言的原因:
    ①程序语言设计的目的。Java、C等语言是为软件开发而设计的,不适合完成数据分析任务。如果使用Java、C去做的话,则大量的精力消耗在流程控制、数据结构的定义和算法的设计上,难以集中精力去处理数据问题。
    例如数据集的读写是数据分析中经常遇到的工作,如果用Java编写,需要多层for语句,非常繁琐。但是在python或R中,支持向量化计算,可以直接读写数据集(不需要for语句)。python和R采用泛型函数式编程,可以直接调用sort()函数来实现数据集的排序工作,不需要额外编写排序算法和代码。
    ②第三方扩展工具包/模块,更为重要。python和R并不是比Java、C更强,而是可以调用众多专门用于数据分析任务的第三方扩展包或模块。

2.面向数据分析的python编程

从数据分析的角度看,掌握基础语法和第三方工具包即可。

1)Python语言的基础语法

  • 变量及其定义方法
  • 运算符、表达式、语句
  • 数据类型和数据结构
  • 包与模块
  • 内置函数、模块函数和自定义函数
  • 迭代器与可迭代对象
  • 生成器与装饰器
  • 查看帮助信息的方法
  • 异常处理、当前工作目录与文件读写
  • 面向对象编程

2)第三方工具包

数据分析中通常使用已开发好的python第三方工具包,不是用python基础语法自行重新开发核心数据分析任务,主要原因在于:python第三方工具包不仅实现了数据分析的核心任务,降低数据分析的开发成本,同时对python基础语法进行了优化,提高了运行性能。

  • 基础类:pandas,numpy,scipy
  • 数据可视化类:matplotlib,seaborn,bokeh,basemap,plotly,networkx
  • 机器学习类:scikit-learn,pytorch,tensorflow,theano,keras
  • 统计建模类:statsmodels
  • 自然语言处理、数据挖掘及其他:nltk,gensim,scrapy,pattern,open-cv

3.Python IDE

① Jupyter Notebook、Jupyter Lab和Spyder:用于编写Python程序,是Python的编辑器

② Anaconda Prompt:用于编写PIP和Conda命令

③ Anaconda Navigator:用于显示Anaconda平台的各组成成分

Jupyter Lab以B/S模式执行,而其中编写的Python代码以Cell(代码单元格)为单位进行组织和执行;每个Cell的执行顺序由程序员执行时随意指定,而并非由Cell的显示前后顺序和代码之间的逻辑关系决定。Cell的多次执行可以导致变量的当前值随之变化。