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

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

基于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. html倒计时代码

    <SPAN id=span_dt_dt></SPAN> <SCRIPT language=javascript> <!-- //document.write( ...

  2. 从websphere6.1迁移到weblogic10.3的问题总结

     系统采用war包的方式部署. 问题一: ####<2011-3-29 下午05时17分43秒 CST> <Info> <ServletContext-/MIS-be ...

  3. 用过的一些Android设备调试特性注意点(挖坑帖)

    华为3C Activity切换动画偏快. 显示大图时不容易出现OOM(应用最大内容要比其他手机大一点),所以调试OOM问题时不要用此手机,否则难以发现问题. 小米3 不要调用系统的裁图功能.因为返回的 ...

  4. Android 实现Json数据解析,并进行应用!

    从网站上获取数据然后再客户端进行解析是常见的数据交互.下面是常用的一些接口网址: webservice工厂接口 http://www.36wu.com 快递查询接口http://webservice. ...

  5. gitlab6 配置的几个问题说明

    gitlab6 配置的几个问题说明 按照gitlab的网站的详细步骤,终于把gitlab 6.1 stable安装到2台虚拟机上了.由于gitlab6运行于虚拟机上,所以配置这个虚拟机的hostnam ...

  6. Coco2dx制作一个3D旋转的效果

    建了工程之后修改HelloWorldScene.cpp文件,修改部分为 // on "init" you need to initialize your instance bool ...

  7. 16_Android生命周期再介绍,通过androidconfigChanges属性让界面旋转时不改变状态中保留的值

     A  android:configChanges属性 对android:configChanges属性,一般认为有以下几点: 1 不设置Activity的android:configChange ...

  8. hive语句嵌入python脚本(进行map和reduce,实现左外连接)

    在Hive语句中使用脚本(如python和shell)进行map和reduce:利用命令transform(或者指定map和reduce),配合加入的脚本文件add file 请看:http://ww ...

  9. 一篇详细的linux中shell语言的字符串处理

    1 cut是以每一行为一个处理对象的,这种机制和sed是一样的.(关于sed的入门文章将在近期发布) 2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢? cut命令主要 ...

  10. java http缓存

    HTTP/1.1中缓存的目的是为了在很多情况下减少发送请求,也即直接返回缓存:同时在许多情况下可以不需要发送完整响应.前者减少了网络回路的数量,挺高响应速度,HTTP利用一个"过期(expi ...