Python是一种面向对象,直译式计算机程序设计语言,由于他简单,易学,免费开源,可移植性,可扩展性等特点,Python又被称之为胶水语言。下图为主要程序语言近年来的流行趋势,Python受欢迎程度扶摇直上。
由于Python拥有非常丰富的库,使其在数据分析领域也有广泛的应用。
各行各业都有自己的商业场景,每一个行业都需要使用数据来辅助决策。面对现在人人谈大数据的情境,数据分析是一个你不得不会的技能。
Python是一门编程语言。也许从前的你完全依靠excel的默认设置生成图表,从不思考为什么做一张数据图,而使用编程工具的你必须从图表长宽开始思考每一步成形的理由,从而更精地理解数据。
传统的数据工作涵盖大量的重复不动脑操作,比如把日表合成周表,比如批量删除某个字段,比如批量删除空值。这些工作通过鼠标点击软件没有办法编成工作流,但却可以通过python程序编写自动化,省去大量时间。
这里是对你会经常接触的重要的库的简要总结:
拥有大量的科学计算的核心功能,由于它的内部运算是通过C语言实现的,所以比用Python写成的同样的函数,它的速度会快许多。但它并不是最用户友好的包。
跟NumPy非常相似,但是有更多的方式来从分布中取样,计算检验统计量,等等。
主要的画图框架。不太讨喜,但却是必备的包。
基本上是对NumPy/SciPy进行轻量的包装,使它们更用户友好一些。对于和表格数据交互非常理想,熊猫中把表格数据称为数据框(DataFrame)。对画图功能也有一些包装,使得无需使用MPL(元编程库,元编程库)就可以快速实现画图。我使用熊猫而非其他的工具来操作数据。
蟹:灵活,快速的推荐引擎
gensim:人性化的话题建模库
﹒荷伯:GPU加速的深度学习库
NuPIC:智能计算Numenta平台
模式:Python网络挖掘模块
PyBrain:另一个Python机器学习库
Pylearn2:一个基于Theano的机器学习库
python-recsys:一个用来实现推荐系统的Python库
scikit-learn:基于SciPy构建的机器学习Python模块
pydeep: Python深度学习库
vowpalporpoise:轻量级Vowpal Wabbit的Python封装
skflow:一个TensorFlow的简化接口(模仿scikit-learn)
咖啡:一个咖啡的python接口
OpenCV:开源计算机视觉库
pyocr:超正方体和楔形文字的包装库
pytesseract:谷歌超正方体OCR的另一包装库
SimpleCV:一个用来创建计算机视觉应用的开源框架
上面列举的只是其中一部分,还有很多很多。当然,他们很多并非是用Python来实现,但都共同的提供了Python接口,甚至好几个都把Python当成了头等公民(一级)。
在此并非想说Python这门语言很强大或者复杂,而恰恰相反,得益于Python的简洁和包容。才让它在数据挖掘领域有如此的地位。
第一种是获取外部的公开数据集,一些科研机构,企业,政府会开放一些数据,你需要到特定的网站去下载这些数据。这些数据集通常比较完善,质量相对较高。
另一种获取外部数据的方式就是爬的虫。
比如你可以通过爬虫获取招聘网站某一职位的招聘信息,爬取租房网站上某城市的租房信息,爬取豆瓣评分评分最高的电影列表,获取知乎点赞排行,网易云音乐评论排行列表。基于互联网爬取的数据,你可以对某个行业,某种人群进行分析。