工做后,很不幸的成为了团队中的QA。QA这个角色吧,提及来高大上,实际很苦逼,一句话归纳一下:吃力不讨好!做为新人,公司每个月一分钱没少我,至少如今跟开发的待遇是同样的,因此我仍是得兢兢业业的对待本身的工做。python
项目越作越复杂,写验收测试的时候,每每验收场景容易构造,可是该场景下的预期数据、甚至是原始数据太难构造了,尤为我是处于通讯行业,数据库的表数据字段极其多、数据表也极其的多。不怕你们笑话,我开始的时候是经过Scala的函数式编程,一点一点的本身写程序维护表的字段名称、数据的split(还好都是csv格式的数据)、表join、格式的转换等。后来就疯了!个人视力都是模糊的最后。数据库
有一次参加团队内部外请教练的一个培训,上面的教练口若悬河的讲着她关于本身的一套推荐系统多么多么的nubility,你们在下面无聊的听着。引发我注意的是她们使用Python做为开发语言。Python我是知道的,上学的时候作个一个基于图像的测量项目,先是使用python版本的OpenCV开发的,后来才改成C++。她重点推荐的是Python的numpy、Pandas和Ipython。当时我就在笔记本上记了一下。编程
后来内部要作数据分析,我买了一本书《利用Python进行数据分析》大概,里面详细的介绍了Pandas、numpy等。不怕你们笑话,个人数据分析能力没什么长进,可是被Pandas的数据处理方式震撼了(请你们原谅我不是一个IT人士,刚入行)。Pandas就是我要找的构造预期数据的神器啊!windows
可能有人就会笑了,构造数据用得着使用Pandas么,直接使用SQL就好!可问题是,咱们使用Spark集群环境,环境不稳定,并且运行较慢,动不动会出现问题,并且开发的代码不少也是使用SQL实现,总有点“抄袭”的嫌疑,为了表示个人工做是独立的,固然不能使用SQL,并且也很差用。因此,我下定决心要将Pandas、numpy引入个人工做中!浏览器
目前来看,效果仍是不错的,后来到Pandas的贴吧,发现好冷清,并且网上的资料大多都是翻译官网的10分钟入门。其实Pandas很简单,复杂在处理问题的方法太多了,让新手无法选择!我就挣扎了不少天,每天抱着手机看官网的doc,才有点明白,并且结合个人工做,有些方法就活起来了。函数式编程
没别的用处,就是想分享几个个人Pandas应用场景。因为我才疏学浅,可能有不恰当的地方,因为工做的限制,可能Pandas全貌我也不用太清楚,可是仍是尝试一下吧。函数
本文先讲一下我安装的一些软件,和一些注意事项。测试
为了运行Pandas,必须安装以下软件:ui
Python,2.7或者3.4均可以,我最早使用的是3.4,后来因为Spark集群只支持python2,因此改成了2.7,官网下载安装便可。.net
numpy,官网下载windows源代码,或者可以下载到exe可执行包也行,若是使用源代码,在安装的使用可能会有点问题,后面会讲到。
pandas,官网下载源代码,我使用的是0.16的。
ipython,这个能够下载源代码,不过推荐pip的方式安装。
另外,可能还须要TDM-GCC,这个是windows的gcc平台,主要是编译numpy的源代码要用到。
若是下载的是最新的python,其默认包含pip程序,在cmd中,输入pip install 软件名称便可安装程序。
可是安装顺序推荐以下:
1. python,exe包,安装便可。
2. numpy,源代码包,cmd进入解压目录,找到setup.py,输入python setup.py install,若是出现
“Unable to find vcvarsall.bat”错误,就是由于numpy须要编译C和一些代码,而你的电脑中没有合适的C编译器,能够参考
http://my.oschina.net/zhangdapeng89/blog/54407
的解决方法。这里我将Migwin改成了TDM-GCC,由于TDM-GCC确实简单一些,将TDM-GCC的bin加入path,而后将其中的一个mingw32-make.exe改成make.exe便可,而后在安装numpy的cmd中输入:python setup.py install build --compiler=mingw32 便可。
3. 安装Pandas,若是出现相似问题,同2;
4. 安装ipython,这里推荐在cmd中使用:pip install ipython命令,提示缺什么包,就使用pip install 包名,安装便可。安装完以后,能够在开始的菜单中的运行窗口输入:
ipython notebook 命令,就能启动ipython的基于浏览器的集成编译环境。
最后,我使用PyCharm的集成编译环境,做为后备环境。
不早了,今天先到这里,下次再聊!