手把手教你从零搭建Python数据分析环境
由于最近再做推荐系统的特征处理,需要借助一些工具来筛选特征。最初使用了R,R的安装很简单,而且API也很容易使用,直接就能出图。后来,发现很多人在python和R之间做选择,所以我也在两个工具间摇摆不定。后来,发现Tensorflow里面有很多python的代码,而且python可以做爬虫写web,几乎是万金油的角色。本着想找一门以后日常使用的工具的心态,最终还是选择了python。
那么本篇就从下面几个方面介绍下,如何在日常使用python做数据分析:
- python安装以及numpy、matplotlib的安装
- python的hello world
- SublimeText的python集成
- 相关推荐
希望对那些刚刚打算做数据分析的朋友,提供参考。
Python以及必要的库安装
Python目前有两个版本,一个是2.7,一个是3.4,在同事的推荐下,选择了2.7。Python的下载直接去官网就可以了,但是想要做数据分析,还需要依赖很多其他的模块,比如科学计算库Numpy,图形库matplotlib,数值计算库scipy,数据挖掘分析库pandas,本篇就先安装个Numpy和matplotlib,以做演示,其他库的安装基本类似。
python安装的几种方式
- 一种是在sourceforge上下载exe文件,只要操作系统版本没问题,几乎是一键安装
- 一种是下载zip或者tar.gz压缩包,使用里面的setup.py执行
setup.py install
命令安装 - 另一种是下载whl文件,放在python的scripts文件夹中,使用命令
pip install xxx.whl
安装
我这次由于需要的库比较多,下载的安装文件什么样子都有,所以几种方式都会演示下。
相关的下载资源参考分享链接:链接:http://pan.baidu.com/s/1i4Jhez7 密码:t1sw
安装Python
直接运行python-2.7.13.amd64.msi
,无脑下一步即可,不过要记住python所在的目录C:\Python27\
,稍后需要对这个目录进行添加文件。
安装numpy和matplotlib
如果版本没问题(比如不是64位系统下载安装32位软件),那么会自动识别到python所在的目录,直接下一步安装即可。
Matplotlib也是一样安装即可。
安装cycler、dateutil
把whl文件拷贝到python27/scripts目录下,可以暂时忽略requests那个文件,这个requests库是webhdfs库连接hdfs环境用的,如果不使用可以用安装
然后分别执行命令:
pip install cycler-0.10.0-py2.py3-none-any.whl
pip install python_dateutil-2.6.1-py2.py3-none-any.whl
安装pyparsing
解压pyparsing压缩包,在setup.py那层目录执行setup.py install
命令安装即可
安装到这里,numpy和matplotlib就可以使用了~
python初体验
python安装完,来体验一下吧。python支持控制台输出,也支持在新的文件中写入多行内容,统一执行。
SublimeText集成
直接使用IDLE,有点太麻烦,直接基于sublime text开发过ruby和web前端,体验非常好,所以还是想通过sublimeText编写python代码。
因此首先在点击Tools->Build System->New Build System
,弹出文件:
{
"shell_cmd": "make"
}
按照下面的配置输入:
{
"cmd": ["C:/Python27/python.exe", "-u", "$file"],
"file_regex": "[1]File "(…?)", line ([0-9]*)",
"selector": "source.python"
}
并保存成自己的名字(我起名叫做my_python),注意路径需要修改为本地的python路径。路径为C:\Users\xxh\AppData\Roaming\Sublime Text 3\Packages\User
在Tools -> Build System 中重新选择my_pyhton
然后再SublimeText中体验一下matplotlib的魅力,代码如下:
import numpy as np
import matplotlib.pyplot as plt
plt.figure(1)
ax1=plt.subplot(211)
x=np.linspace(0,100,100)
for i in xrange(1,100):
plt.figure(1)
plt.plot(x,x*2)
plt.show()
按ctrl+B即可执行:
相关推荐
1 廖雪峰的python教程:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/
2 runoob的python教程:http://www.runoob.com/python/python-tutorial.html
手把手教你从零搭建Python数据分析环境的更多相关文章
- 手把手教你认识并搭建Nginx
手把手教你认识并搭建Nginx Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor ...
- 手把手教你用vue-cli搭建vue项目
手把手教你用vue-cli搭建vue项目 本篇主要是利用vue-cli来搭建vue项目,其中前提是node和npm已经安装好,文章结尾将会简单提到一个简单的例子.使用vue-cli搭建项目最开始我也是 ...
- 沉淀,再出发——手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群
手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群 一.准备,再出发 在项目启动之前,让我们看一下前面所做的工作.首先我们掌握了一些Linux的基本命令和重要的文件,其次我们学会 ...
- 手把手教你用webpack3搭建react项目(开发环境和生产环境)(一)
开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境. 一.首先创建packag ...
- 手把手教你使用 VuePress 搭建个人博客
手把手教你使用 VuePress 搭建个人博客 有阅读障碍的同学,可以跳过第一至四节,下载我写好的工具包: git clone https://github.com/zhangyunchencc/vu ...
- SpringCloud学习之手把手教你用IDEA搭建入门项目(三)
本篇博客是承接上一篇<手把手教你用IDEA搭建SpringCloud入门项目(二)>,不清楚的请到我的博客空间查看后再看本篇博客,上面两篇博客成功创建了一个简单的SpringCloud项目 ...
- SpringCloud学习之手把手教你用IDEA搭建入门项目(二)
本篇博客是承接上一篇<手把手教你用IDEA搭建SpringCloud入门项目(一)>,不清楚的请到我的博客空间查看后再看本篇博客 1)先创建一个Eureka服务注册中心模块,用来作为服务的 ...
- SpringCloud学习之手把手教你用IDEA搭建入门项目(一)
SpringCloud简单搭建 jdk:1.8开发工具:IDEA注:需要了解springcloud 1.创建最简单的Maven项目 1)开始创建一个新的项目 2)创建一个空模板的maven项目,用 ...
- 手把手教你从零写一个简单的 VUE
本系列是一个教程,下面贴下目录~1.手把手教你从零写一个简单的 VUE2.手把手教你从零写一个简单的 VUE--模板篇 今天给大家带来的是实现一个简单的类似 VUE 一样的前端框架,VUE 框架现在应 ...
随机推荐
- loadrunner11--集合点(Rendezvous )菜单是灰色不能点击
新建场景的时候“Manual Scenario”下的check box不能选中,取消选中就好了.即Vuser不能以百分比的形式. 所以:集合点灰化有两种情况: 脚本没有添加集合点函数 场景中设置以Vu ...
- 设计模式-生成者模式之c#代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 2018.10.15 bzoj4445: [Scoi2015]小凸想跑步(半平面交)
传送门 话说去年的省选计算几何难度跟前几年比起来根本不能做啊(虽然去年考的时候并没有学过计算几何) 这题就是推个式子然后上半平面交就做完了. 什么? 怎么推式子? 先把题目的概率转换成求出可行区域. ...
- 2018.09.24 bzoj1016: [JSOI2008]最小生成树计数(并查集+搜索)
传送门 正解是并查集+矩阵树定理. 但由于数据范围小搜索也可以过. 我们需要知道最小生成树的两个性质: 不同的最小生成树中,每种权值的边出现的个数是确定的 不同的生成树中,某一种权值的边连接完成后,形 ...
- 2018.07.03 POJ 2318 TOYS(二分+简单计算几何)
TOYS Time Limit: 2000MS Memory Limit: 65536K Description Calculate the number of toys that land in e ...
- 2018.09.14 codeforces364D(随机化算法)
传送门 根据国家集训队2014论文集中胡泽聪的随机化算法可以通过这道题. 对于每个数,它有12" role="presentation" style="posi ...
- Linux IPC 之信号量
信号量(也叫信号灯)是一种用于提供不同进程间或一个给定进程的不同线程间同步手段的原语. 信号量是进程/线程同步的一种方式,有时候我们需要保护一段代码,使它每次只能被一个执行进程/线程运行,这种工作就需 ...
- flask_hello world
对于flask框架的学习全部借鉴于http://www.pythondoc.com/flask-mega-tutorial/index.html 在学习的过程中,我使用的是Pycharm IDE,Py ...
- BeanUtils.populate的方法的作用
BeanUtils位于org.apache.commons.beanutils.BeanUtils下面,其方法populate的作用解释如下: 完整方法: BeanUtils.populate( Ob ...
- scala单元测试,包括功能测试和性能测试
十分简单的scala单元测试 在编写性能要求高的模块的时候,单元测试是有必要的,通过搜索,我找到了一套提供单元功能测试和性能测试的可行方案,该方案简单好用,推荐给大家. 测试工具 首先找到适用于sca ...