这5年中,数据分析又发生了很大的变化。尤其是眼见着OpenAI的GPT横扫技术领域,让以往一切模型方法看起来都像“小孩子的游戏”一样。大模型成为了海量信息和有效信息之间的新桥梁,而上一座桥梁是以谷歌的PageRank为代表的搜索算法。幸好,因为数据分析是直接跟数据打交道,并且要根据数据生成决策,这方面是人的强项,暂时不会受到影响。
相比GPT,pandas本身也在快速进步着。实际上,就在二月中旬,pandas发布了2.0大版本,引入了PyArrow、优化了内存计算方法、优化了索引结构,以后用Pandas进行机器学习和大数据分析工作就更加便捷了。
结构化数据
我们在进行数据分析时,用到的最主要的是结构化数据。结构化数据通常是如下数据:
- 表格型或电子表格型数据,其中各列可能是不同的类型(字符串、数值、日期等)。比如保存在关系型数据库中或以制表符/逗号为分隔符的文本文件中的那些数据。
- 多维数组(矩阵)。
- 通过关键列(对于SQL用户而言,就是主键和外键)相互联系的多张表。
- 平均或不平均间隔的时间序列。
大部分数据集都能被转化为更加适合分析和建模的结构化形式,也可以将数据集的特征提取为某种结构化形式。例如,一组新闻文章可以被处理为一张词频表,而这张词频表就可以用于情感分析。
使用Python进行数据分析的理由
-
Python有非常活跃而强大的社区:Python诞生于1991年,时至今日,Python孕育了一个庞大而活跃的科学计算和数据分析社区,成长为学界和工业界中数据科学、机器学习、软件开发最重要的语言之一。
-
Python非常适合作为胶水语言:Python能够轻松集成C、C++以及Fortran代码,除此之外,将Python与Go、Rust结合也很不错,现在有许多人使用Rust为Python编写插件。
-
Python“赢者通吃”:Python不仅适用于研究和构建原型,同样也适用于构建生产系统。所以,用不着再维护两套开发环境了,可以大大提高企业效率。
Python的劣势
-
Python是解释型编程语言,因此比编译型语言(比如Java和C++)慢得多。
-
Python不适合高并发、多线程,因为存在全局解释器锁(Global Interpreter Lock,GIL)。
Python数据分析中重要的库
NumPy
NumPy,是Numerical Python(数值Python)的简称,它提供了多种数据结构、算法以及大部分涉及Pytho