1.5 数据处理、分析和可视化
采集好数据后应对数据进行清洗,将数据中无效的部分清理掉,然后进行转换,将其转换成我们需要的数据格式以便进行分析。少量的数据清洗、转换可以使用简单的工具进行,例如:
●使用Excel对CSV文件中的行进行过滤、对某些列进行计算。
●使用纯文本编辑器对字符进行替换,通过正则表达式转换文本格式。
复杂的、大量的数据处理需要用编程语言进行高效的处理,例如:
●可以用Python代码对API请求得到的JSON数据进行读取,然后提取出有用的信息,并装载到数据库中。
●对于文本数据(日志),也可以使用ELK框架中的Logstash将数据导入到Elasticsearch中进行处理。
这种操作涉及的工具多种多样,可以根据需要自行选择技术栈。
数据处理完成后可能会得到一些结构化的数据,例如,PostgreSQL 中的一张张表,甚至一些CSV文件;也可能得到一些半结构化的数据,例如,存储在Elasticsearch中的数据。
数据分析处理和可视化结合得比较紧密,一般分析处理工具都提供了可视化功能,下面介绍一些知名的工具和框架。
数据分析:
●Excel:可以针对少量的数据进行分析、探索、可视化,基本不需要太多的编程知识即可进行。
●Tableau、SAS、MATLAB、Mathematic 等商业软件:这些商业软件能够提供更复杂的数据探索、可视化功能,能够针对大量的数据进行处理。
●R 语言:R 内置了丰富的函数,可对数据进行专业的分析、挖掘。相对于Python语言的生态圈,R语言的圈子比较小。
●NumPy、Pandas(推荐):Python中应用广泛的库,提供了非常多的数据分析、挖掘相关的函数。基于Python生态圈,可以较为方便地进行扩展。
数据可视化:
●Matplotlib(推荐):Matplotlib是Python中非常好用的可视化工具,涵盖了从基础到专业各个级别的可视化需求。
●D3:基于JavaScript和SVG的可视化框架。可以自行编写函数,得到非常复杂的可视化效果,对编程技能要求比较高。
●ECharts(推荐):百度公司出品的可视化库,它内置了丰富的模板,只需提供一些参数设置即可得到可视化的数据展示。官方也提供了一些开箱即用的例子供读者参考。
面对各种选择,我推荐使用Python语言生态圈中的工具,因为它们可以方便地和机器学习、数据可视化等进行结合,降低学习成本。