数据分析是一个历史久远的东西,但是直到近代微型计算机的普及,数据分析的价值才得到大家的重视。到了今天,数据分析已经成为企业生产运维的一个核心组成部分。

据我自己做数据分析的经验来看,目前数据分析按照使用工具可以分为大体四类:

基于Excel的数据分析,Excel自带的函数、数据透视表、宏等功能对于数据分析来说十分适用且好用;基于matlib、SAS、SPSS等专业统计软件,我自己用过一段时间的SAS,觉得功能十分全面,但是作为程序员使用又觉得限制太多不够自由;基于SQL+数据库的数据分析,这一类更偏向于数据存储,利用数据库自带的SQL查询函数和过程函数来帮助做数据分析,但是因为不利于数据计算和图表展示,往往还是需要结合Excel软件的帮助;基于Python的数据分析,这是我觉得最好的一种数据分析,因为python本身的优秀以及第三方库的强大,但是前提是需要有一定的编程能力——不一定是码农,事实上我看到蛮多非计算机的人用python很好,因为python本身是一门入门级的语言,简单易上手。

接下来,我主要讲一下python环境的安装。以步骤为序:

1.到下载软件https://www.python.org/ 建议在官网上下载,如果不能上的就在CSDN那边搞一个。

下载最新版本3.5.1或者2.7.11。我个人建议下载2.7.11这个版本,关于ptyhon3.x和python2.x的区别,在语法上变化并不大,当然3.x是未来,但是2.x才是现在啊,因为2.x拥有的第三方库最齐全啊,这是我从2.x转到3.x再转到2.x的心得啊。(都是眼泪/(ㄒoㄒ)/~~)当然因为2.x版本涉及到字符串Unicode的问题,我会在下一篇文章《基于python的数据分析(2)》中详细讲,事实上这个问题习惯处理了也还好。

2.安装完成(一路next操作不细说)。安装好之后在DOS界面输入python命令,如果提示“‘python’不是内部或外部命令,也不是可运行的程序”,则需要自己修改一下python的path环境变量。

path环境变量是DOS以前的内部命令,windows继续沿用至今。用作运行某个命令的时候,本地查找不到某个命令或文件,会到这个声明的目录中去查找。说简单了就是方便在DOS可以直接输入python和安装程序easy_install、pip install进行操作,不用再输入这些程序包所在的目录。

右键选择“我的电脑”-“属性”-“高级环境设置”,选择最下面的“环境变量”按钮

在变量框中选择path变量(如果没有就新建一个“path”),把python和python第三方支持脚本所在的目录填在变量值里面,一般来说就是C:\Python27\Scripts和C:\Python27。

修改完成之后,在DOS界面输入python可以看到这个界面就是成功了。

3.检查一下pip和easy_install这两个安装工具是否已经配置好。这两个工具主要是用来安装第三方库的,只要知道所需要的第三方包名称就可以像linux一样安装程序包(确定联网环境)。这两个安装工具我是交替使用,如果用pip装不了,我会尝试用easy_install。如果这两个工具都不行的话,就使用万能安装大法,就是到这个网站去http://www.lfd.uci.edu/~gohlke/pythonlibs/下载whl包,用pip install安装下载即可,百试百灵。

方法就是在DOS界面下输入pip和easy_install命令,看是否有下面的界面,如果有就是已经安装,如果提示“…不是内部或外部命令,也不是可运行的程序”就是没有安装。

一般来说pip安装工具是自带的,第一次输入后会提示你输入pip –update更新到最新版本就行了。python -m pip install --upgrade pip

eays_install到官网https://pypi.python.org/pypi/setuptools#windows-simplified下载ez_stup.py文件,然后用python ez_stup.py –install安装即可。

4.到此为准,python的环境就基本上搭好了。这是为了解决python的编码问题,我建议在目录C:\Python27\Lib\site-packages 增加一个文件,命名为sitecustomize.py(sitecustomize.py是一个特殊文件, Python 在启动时将尝试加载该文件,因此所有代码都将运行该文件)。里面的内容见下:

# encoding=utf8
import sys reload(sys)
sys.setdefaultencoding('utf-8')

这段代码的意思是强制python用utf-8编码来处理字符。Python的默认编码是ascii编码,当python中间处理非ASCII编码时,经常会出现如下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)

这个问题会在处理数据库和文本文件的时候发生的特别多,所以现在配置环境时先一步到位处理掉。

5.开始安装第三方支持库,下面是我建议装的:

xlrd/xlwt/xlutils:支持python读写excel的第三方库,速度较快,功能不够丰富;

smtplib:python的邮件接口库

ConfigParser:python读写配置文件(.ini文件)的接口库。

pymssql:python读取mssql的接口库

MySQLdb:python读取mysql的接口库。

以上是基本库。安装的时候只需要在DOS界面输入pip install xxx或者easy_install xxx(xxx是功能库名)。

还有一些程序功能包:

pywin32:应用于python的windows接口,用于读取excel,采用VBA类似的语法,功能全面,读取速度稍慢;

wxpython : 提供python的图形化展示的功能库。

matplotlib/seaborn:数据可视化功能库。(需要安装numpy,scipy,python-dateutil,pyparsing 依赖包)。

上述这些程序包可以下载安装程序(exe程序)或者也可以通过安装工具pip和easy_install安装。

6.Python编程IDE,我个人推荐PyCharm。功能强大且十分方便,各种快捷键可以把编程玩的很溜。它长这个样:

到此,配置环境已经结束,开始编程吧!

本文原创,无作者允许不要转载。

基于Python的数据分析(1):配置安装环境的更多相关文章

  1. 基于Python的数据分析(2):字符串编码

    在上一篇文章<基于Python的数据分析(1):配置安装环境>中的第四个步骤中我们在python的启动步骤中强制要求加载sitecustomize.py文件并设置其默认编码为"u ...

  2. 代码编辑器[0] -> Vim/gVim[0] -> 基于 Python 的 gVim 环境配置(Windows)

     环境配置 / Environment Setup 基于Python开发的 gVim 环境配置(Windows) 使用方式参考 Vim 的使用. 1 基于vundle进行配置 Vim有多个扩展管理器, ...

  3. 基于Python的数据分析(3):文件和时间

    在接下来的章节中,我会重点介绍一下我自己写的基于之前做python数据分析的打包接口文件common_lib,可以认为是专用于python的第三方支持库.common_lib目前包括文件操作.时间操作 ...

  4. 基于Python的数据分析:数据库索引效率探究

    索引在数据库中是一个很特殊的存在,它的目的就是为了提高数据查询得效率.同样,它也有弊端,更新一个带索引的表的时间比更新一个没有带索引的时间更长.有得有失.我希望做一些研究测试,搞清楚索引对于我们使用数 ...

  5. 利用Python进行数据分析

    最近在阅读<利用Python进行数据分析>,本篇博文作为读书笔记 ,记录一下阅读书签和实践心得. 准备工作 python环境配置好了,可以参见我之前的博文<基于Python的数据分析 ...

  6. 数据分析:基于Python的自定义文件格式转换系统

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  7. 基于 Python 和 Pandas 的数据分析(1)

    基于 Python 和 Pandas 的数据分析(1) Pandas 是 Python 的一个模块(module), 我们将用 Python 完成接下来的数据分析的学习. Pandas 模块是一个高性 ...

  8. 基于python的接口测试框架设计(二)配置一些参数及文件

    基于python的接口测试框架设计(二)配置一些参数及文件 我这里需要基于我的项目配置的主要是登陆参数.以及baseURL ,把这些放在单独的文件里  毕竟导入的时候方便了一些 首先是url 图略 建 ...

  9. 配置基于python的VIM环境

    配置基于python的VIM环境 安装插件管理工具 为防止过多插件管理的麻烦,首先安装vim的插件管理工具Vundle.vundle本身的github软件已经有相关的中文文档,地址如下: vundle ...

随机推荐

  1. 【Unity Shaders】Reflecting Your World —— Unity3D中的遮罩反射(Masking Reflections)

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  2. 小强的HTML5移动开发之路(13)——HTML5中的全局属性

    来自:http://blog.csdn.net/dawanganban/article/details/18179483 一.accssskey  快捷键 <!DOCTYPE HTML> ...

  3. Java进阶(二十七)使用Dom4j解析XML文件

    使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ...

  4. ReactJs和React Native的那些事

    介绍 1,React Js的目的 是为了使前端的V层更具组件化,能更好的复用,它能够使用简单的html标签创建更多的自定义组件标签,内部绑定事件,同时可以让你从操作dom中解脱出来,只需要操作数据就会 ...

  5. OC:打僵尸问题(类的问题)

    1.定义普通僵尸类: 实例变量:僵尸种类.僵尸总血量.僵尸每次失血量. 方法:初始化方法(设置僵尸种类,总血量).被打击失血.死亡. 2.定义路障僵尸类: 实例变量:僵尸种类.僵尸总血量.僵尸每次失血 ...

  6. 9、Libgdx的输入处理

    (官网:www.libgdx.cn) 不同的平台有着不同的输入方式.桌面用户可以通过键盘和鼠标与应用进行交互,基于浏览器的游戏也是这样.在Android中,鼠标被触摸屏所替代,通常没有实体键盘.And ...

  7. 跨平台移动APP开发进阶(四)AngularJS简介

    AngularJS 是一个为动态WEB应用设计的结构框架.它能让你使用HTML作为模板语言,通过扩展HTML的语法,让你能更清楚.简洁地构建你的应用组件. 它的创新点在于,利用 数据绑定 和 依赖注入 ...

  8. 【一天一道LeetCode】#56. Merge Intervals

    一天一道LeetCode系列 (一)题目 Given a collection of intervals, merge all overlapping intervals. For example, ...

  9. redis简单测试用例(内存不足,可以使用redis)

    Redis本质上是一个Key-Value类型的内存数据库,很像memcached,听说他的性能远高于memcached,所以想自己搞个玩下.看到底有什么好处. 在windows下使用redis首先要 ...

  10. 《java入门第一季》二维数组三个案例详解

    案例一:遍历二维数组 /* 需求:二维数组遍历 外循环控制的是二维数组的长度,其实就是一维数组的个数行数. 内循环控制的是一维数组的长度,每一行,一维数组元素分别的个数. */ class Array ...