本人一般处理数据,运用的工具主要是excel, sql(主要是MySQL), python+pandas+scikit-learn, 至于数据可视化方面侧用PPT or matplotlib,以上几样工具都会贯穿使用,最主要是工作使用上要顺手,效率要高。若果想一样工具用到底,这个貌似还不太现实,毕竟每一样工具都有各自擅长的领域。
各个工具的优缺点简单说一下:
Excel:微软顶顶大名的工具。这个工具每个职场人都会用,但用得水平如何,就差距十分巨大了。
优点:上手简单、有图形界面、亲和力强,功能强大(如函数,数据透视),学习成本较低。
缺点:处理大量数据时略显乏力。3万行的数据(就当只有2列,3万行数据),用vlookup函数处理匹配,这个就已经够痛苦。
sql(MySQL):通常用这个,基本上在企业里面要有数据库的权限,能够直接连接数据库,那是最好的。当然一般稳妥起见,都是只有select 的权限,增删改的权限一般针对数据人员是不开放的。而且通常都是与Navicat等图形编译工具搭配使用。当然,还有部分咨询公司、外企会用Access,但Access有部分sql语法不支持,所以我用较少。sql工具作为查询、提取的话还是十分好用的。
优点:快!快!快!
缺点:有一定学习成本,当然自学也不是不可能。建议可以上w3school自学也可。对于很多非科班出身的数据人员来说,其实只要做到查询就足够了,太深澳的或者追求时间上的优势而花大功夫,有点得不偿失,毕竟优化select这个本身就不是件容易的事。
python+pandas:python+pandas(再加上sqlalchemy)基本上也是可以替代mysql的一个工具,但是我本人测试了,如果比拼速度,还是mysql的查询速度更快,不知是否因为mysql是用c写,而python是编译语言的缘故。对于想速成的人来说,学少一样sql,但学另一样功能更强大的python+pandas也未偿不可,通过ORM方法,将表、行映射成类、对象也是很好上手的。
优点:运算功能十分强大,有丰富的第三方包,如scikit-learn、scipy等,可以做更高阶的数据科学分析统计。
缺点:学习成本最高,虽然现在很火,但依然缺少中文材料,而且现有的中文书藉还会有bug(为什么我知道sqlalchemy?就因为我在这上面踩过坑,pandas的某些读写功能就只支持sqllite3或者sqlalchemy,有些书却忽略了。。。orz)所以这个时候觉得英语差,但又想往数据发展的同学真要刻服一下,毕竟现有技术都是外国的,啃啃英语也是有道理的。
至于可视化方面,用得最多就是ppt和excel里自带的图形功能,而matplotlib则比较少用。首先,图形可视化需要美观,这方面matplotlib在这方面要做到如微软的产品一样,会比较吃力。但是如果是为了通过图形快速分析获得结果,则matplotlib是首选。你想啊,我数据都做好了,就差一个图,如果是自己看的话,我直接出图不是更快么?
之后就会进入正题:数据分析实战!