数据分析工具很多,可以分为表格、数据库、BI工具、编程等四大工具。每个大类又有很多的工具,例如表格包括Excel、WPS、Google Sheets、Airtable等。编程工具包括Python和R。
搞科研几年了,笔者一直都是在使用Excel做数据分析和可视化,论文里也多用Excel生成的图表。笔者也学习过Matlab、Python、R,它们虽然功能强大,但是编程分析数据太花费时间了,效率偏低。
后来,笔者机缘巧合学习使用了微软的Power BI,让笔者对数据建模、数据分析、数据可视化有了更加清晰的认识,甚至改变了笔者做数据分析的思维,拓展了数据分析和可视化的方法,让笔者专注于数据分析而不是如何使用工具。
为什么选择Power BI
从数据中获取信息的最佳方式之一,就是数据可视化。对于数据分析来说,数据可视化既可以帮助提高分析效率,也能为报告锦上添花,是一项必不可少的技能。
做数据可视化,选对工具很重要。市场上数据可视化工具很多,好坏参差不齐,在了解过N多款数据可视化工具后,笔者总结了自己曾经使用过的3款比较常见数据分析和可视化工具!
1.Microsoft的Excel
Excel是很多人第一次接触数据分析和可视化的工具之一。
Excel太强大了,在不同人手里,它可以是数据库、可以是数据处理工具,甚至还可以是IDE。当然,我们也可以把Excel当成一款数据可视化工具。
用Excel,我们可以创建专业的数据透视表和基本的统计图表。Excel最大的特点就是简洁方便,它内置了较为全面的图表样式和丰富的设置选项,但操作逻辑都是极为简便易懂的,几乎不需要教程即可摸索掌握。
不过相比于后面介绍的工具,Excel只能算作一款数据可视化的入门级工具。一是因为它难以支撑大数据量的数据可视化,二是它内置的图表在样式、颜色、线条上都只能选默认的,更改自由度不够。
2.Python及第三方模块
Python数据分析常用的第三方模块包括:Pandas、Numpy、Scikit-learn,封装好的数据读取存储方法、常用统计计算方法和机器学习方法等,可以大幅提高用户的效率。
Python数据可视化相关的众多第三方模块中,可视化库(Matplotlib、Seaborn)是非常强大的。几乎覆盖了我们所有常用的图表工具。
而且作为数据分析师,ESP三件套(Excel+SQL+Python)都是基本功,学会Python绝对不亏。
(1)Matplotlib
Matplotlib是python中公认的数据可视化工具,通过Matplotlib,几行代码即可生成线图、直方图、功率谱、条形图、错误图、散点图等,还可以用一些MATLAB函数来更改控制行样式、字体属性、轴属性等。
(2)Seaborn
Seaborn是基于matplotlib产生的一个模块,专攻于统计可视化,可以和pandas进行无缝链接,使初学者更容易上手。相对于matplotlib,Seaborn语法更简洁,两者关系类似于numpy和pandas之间的关系。
Seaborn的可视化效果要比matplotlib更加高大上。其实,我们只需要掌握matplotlib和Seaborn中的一个模块就可以了,有需要再现学现用也来得及。
3. R语言
R是一门用于统计计算与作图的语言,但不仅仅是一门语言,它有数据计算与分析的环境,可以说是专门用于数据分析领域。入门R,不会很难,花几天时间学,可以掌握基本的数据结构和可视化,在实际解决问题的过程中,去寻找需要的R包,结合网络资料阅读使用技巧,基本就能应对。
R的特点是免费、开源。第三方的R包很多,但相应的第三方R包的质量也参差不齐,单机处理能力较弱。虽然入门不难,但作为一门语言,操作还是比较抽象。
笔者不太推荐R语言,因为R算是比较小众的语言,应用场景远不如Python广泛和流行。如果一定要学习一种编程语言实现数据分分析和可视化,那么笔者推荐Python及第三方模块,掌握Python,对于未来的职业发展也是大有裨益。
Power BI(商业数据分析工具)
虽然Power BI是商务数据分析工具,但是它的应用不仅仅是商务领域,很多领域都可以使用它,包括科研的数据分析和可视化。
如果只是为了做数据可视化,那么去学习一门语言有点得不偿失。用现成的数据分析和可视化工具,性价比会更高。
Excel是一个不错的选择,既然会使用Excel,那Power BI是更好的选择之一。Power BI可以用于处理大数据,使用起来也更加符合数据处理、分析、建模和可视化的工作,使你的工作流程更加直观和简化,仪表盘更加商业化。
笔者尤其喜欢Power BI的动态、交互报表,这可以非常生动地模拟数据演化过程,这对于一些分析工作非常有用。此外,Power BI也会涉及函数脚本,类似Excel,难度要比Python、Matlab简单很多。
例如,你能想象下面这张仪表盘是通过Power BI就可以简单拖拽实现的吗?这个图表是可以交互的吗?这写数据可以动态演化吗?
通过Power BI,我们可以把历史数据放在一个图表上,通过时间切片,控制不同时间点或者时间段的数据展现。再也不用粘贴那么多张图片到PPT里了。
写在最后
Power BI功能强大,笔者是亲身体会后(完成了一篇小论文),决定分享给大家,向大家推荐这个免费的工具做科研。Power BI并不复杂,有一定的Excel基础,学起来就会非常简单。Power BI的网上教程非常多,通过几个案例系统学习一下就能掌握了,笔者就不赘述了。总结一下,笔者推荐学习Python及第三方模块+Power BI。
Power BI能够满足笔者的科研需求,未必满足你的科研需求,请大家调研了解后,在做决定,仅供参考!
Power BI 官方网址:
https://powerbi.microsoft.com/zh-cn/