2022年 11月 5日

使用python进行数据分析

一、为什么使用python进行数据分析

在众多解释型语言中,python的最大特点是拥有一个巨大而活跃的科学计算(scientific computing)社区,python可以轻松集成C、C++、Fortran代码,所以经常被称为“胶水语言”。

python的热度提升与人工智能的发展分不开,AI深度学习本身的特点决定了其不适合静态变异性语言,而python被选做AI技术框架的基础语言,更多源于python的动态特性,现在流行的人工智能技术大多使用python进行编写,这大大促进了python语言的发展。

python发展的良性循环过程:由于其本身动态特性,被选做AI开发的基础语言 -> 近年来AI大热,极大地推动了python的发展 -> python得到越来越多的关注,势必有越来越多的人投入精力丰富python功能(python强大的社区)-> 开发适合各种领域的库,高效完成相应工作。

note:三十年河东三十年河西,谁也无法预料30年后的python会是怎样一番境况。因此还是要做到两条腿走路:数据挖掘本身、数据挖掘工具。二者缺一不可,毕竟python仅是数据挖掘的工具。万一在未来出现了更好的替代工具,只懂python,那路岂不是走死了。因此对数据挖掘本身的方法、本身的思想也要做到精通才好,毕竟方法是精髓,工具只是实现方法的手段而已

总结:

  • 优势:1. 社区庞大而活跃;2. 功能越来越强大;3. 相较于SAS等付费工具,成本更低;4. 开源,新功能及时;5. 粘合剂语言;6. 解决两种语言问题(协同开发)

  • 劣势:1. 解释型语言运行慢;2. 不适用与高并发、多线程的应用程序

 二、重要的python库

  • Numpy:python科学计算基础包。

                 其所处理的对象:多维数组ndarray

                 对数组执行元素级运算以及直接对数组执行数学运算的函数

                 读写磁盘上的数据集

                 线性代数、傅里叶变换、随机数生成

                 将C、C++、Fortran代码集成到python

        优势:1. 数组处理能力;2. 对于数值型数据,Numpy在存储和处理数据时要比内置的python数据结构高效得多;3. 由低级语言(C或Fortran)编写的库可以直接操作Numpy数组中的数据。

  • Pandas:提供了可以快速处理结构化数据的大量数据结构和函数。Pandas是使python成为强大而高效的数据分析环境的重要因素之一。

                其所处理的对象:DataFrame 

                具有Numpy高性能的数组计算功能

                 电子表格(Excel)

                 关系型数据库(sql)

                 时间序列分析功能