手把手教你从零搭建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 框架现在应 ...
随机推荐
- Luogu 3953[NOIP2017] 逛公园 堆优化dijkstra + 记忆化搜索
题解 首先肯定是要求出单源最短路的,我用了堆优化dijikstra ,复杂度 mlogm,值得拥有!(只不过我在定义优先队列时把greater 打成了 less调了好久 然后我们就求出了$i$到源点的 ...
- 复制文件描述符---dup
函数功能:复制文件描述符 头文件:#include<unistd.h> 函数原型:int dup(int oldfd) 参数说明:oldfd:旧的文件描述符 返回值:成功返回-个新的文件描 ...
- .NET中的Func委托用法
MSDN对于Func<T, TResult>)的官方解释: 封装一个具有一个参数并返回 TResult 参数指定的类型值的方法. 下面通过几个例子对比下,就容易知道其用法: 以下例子演示了 ...
- 使用kubeadm安装kubernetes1.12.2版本脚本
Master节点脚本: #!/bin/sh#使用系统的PATH环境export PATH=`echo $PATH` #停止firewall防火墙,并禁止开机自启动 systemctl stop fir ...
- 使用PrintWriter out=response.getWriter();输出script脚本时乱码解决
使用PrintWriter out=response.getWriter();输出script脚本时乱码解决 最近遇到了一个奇怪的事情,仅仅用out.print("<script ty ...
- hdu-1063(大数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1063 思路:1.大数乘法模板 2.考虑小数点的位置 3.乘法前后判断前后道0 参考文章:https:/ ...
- 删除k8s中一直处于Terminating的资源
1.将所有的etcd中的key值取到一个keys.yam里面,便于查询 ETCDCTL_API=3 etcdctl get "" --from-key > keys.yaml ...
- where /group by/ having/ order by/
1.order by 是 按字段 进行排序.. 字段后面可跟 desc 降序..asc 升序..默认为升序2.group by 是进行分组 查询3.having 和 where 都属于 条件过滤 区别 ...
- [笔记]linux命令学习
scp /root/Downloads/cymothoa-1-beta.tar.gz root@192.168.1.66:/root/ rc.local exit 0前加入: sh /root/abc ...
- (网络流) Sabotage -- UVA -- 10480
链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82835#problem/J 代码: #include<cstdio> ...