基于Python的数据分析(1):配置安装环境
数据分析是一个历史久远的东西,但是直到近代微型计算机的普及,数据分析的价值才得到大家的重视。到了今天,数据分析已经成为企业生产运维的一个核心组成部分。
据我自己做数据分析的经验来看,目前数据分析按照使用工具可以分为大体四类:
基于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 在启动时将尝试加载该文件,因此所有代码都将运行该文件)。里面的内容见下:
这段代码的意思是强制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):配置安装环境的更多相关文章
- 基于Python的数据分析(2):字符串编码
在上一篇文章<基于Python的数据分析(1):配置安装环境>中的第四个步骤中我们在python的启动步骤中强制要求加载sitecustomize.py文件并设置其默认编码为"u ...
- 代码编辑器[0] -> Vim/gVim[0] -> 基于 Python 的 gVim 环境配置(Windows)
环境配置 / Environment Setup 基于Python开发的 gVim 环境配置(Windows) 使用方式参考 Vim 的使用. 1 基于vundle进行配置 Vim有多个扩展管理器, ...
- 基于Python的数据分析(3):文件和时间
在接下来的章节中,我会重点介绍一下我自己写的基于之前做python数据分析的打包接口文件common_lib,可以认为是专用于python的第三方支持库.common_lib目前包括文件操作.时间操作 ...
- 基于Python的数据分析:数据库索引效率探究
索引在数据库中是一个很特殊的存在,它的目的就是为了提高数据查询得效率.同样,它也有弊端,更新一个带索引的表的时间比更新一个没有带索引的时间更长.有得有失.我希望做一些研究测试,搞清楚索引对于我们使用数 ...
- 利用Python进行数据分析
最近在阅读<利用Python进行数据分析>,本篇博文作为读书笔记 ,记录一下阅读书签和实践心得. 准备工作 python环境配置好了,可以参见我之前的博文<基于Python的数据分析 ...
- 数据分析:基于Python的自定义文件格式转换系统
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- 基于 Python 和 Pandas 的数据分析(1)
基于 Python 和 Pandas 的数据分析(1) Pandas 是 Python 的一个模块(module), 我们将用 Python 完成接下来的数据分析的学习. Pandas 模块是一个高性 ...
- 基于python的接口测试框架设计(二)配置一些参数及文件
基于python的接口测试框架设计(二)配置一些参数及文件 我这里需要基于我的项目配置的主要是登陆参数.以及baseURL ,把这些放在单独的文件里 毕竟导入的时候方便了一些 首先是url 图略 建 ...
- 配置基于python的VIM环境
配置基于python的VIM环境 安装插件管理工具 为防止过多插件管理的麻烦,首先安装vim的插件管理工具Vundle.vundle本身的github软件已经有相关的中文文档,地址如下: vundle ...
随机推荐
- JavaScript压缩工具JSA使用介绍
JavaScript压缩工具JSA使用介绍 JSA绝对是我使用过的JS压缩工具中最上乘的一个.认识它是从ligerUI开始.在ligerUI的QQ讨论组里,大神--ligerUI的作者告诉我他的lig ...
- 在IFrame中查找IFRAME中的元素的方式
下面是内部iframe找外部mainFrame的情况 var websiteSearchButton = window.parent.parent.document.getElementById(' ...
- JAVA应用程序转换为Applet
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41673295 将一个图形的JAVA应用程序转换为能够嵌入在 ...
- android View层的绘制流程
还记得前面<Android应用setContentView与LayoutInflater加载解析机制源码分析>这篇文章吗?我们有分析到Activity中界面加载显示的基本流程原理,记不记得 ...
- XBMC源代码分析 4:视频播放器(dvdplayer)-解码器(以ffmpeg为例)
XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 本文我们分析XBMC中视 ...
- 第二篇、vlc-android之源码介绍
注明 转载请注明出处:http://blog.csdn.net/cuiran/article/details/35987853 正文 继<第一篇.vlc-android之开篇介绍> htt ...
- AngularJS进阶(三十七)IE浏览器兼容性后续
IE浏览器兼容性后续 前言 继续尝试解决IE浏览器兼容性问题,结局方案为更换jquery.angularjs.IE的版本. 1.首先尝试更换jquery版本为1.7.2 jquery-1.9.1.js ...
- 算法面试题-leetcode学习之旅(一)
问题描述 Given an array of size n, find the majority element. The majority element is the element that a ...
- Java集合之Stack
Stack是栈,特性是先进后出(FILO,First In Last Out).Stack是继承于Vector(矢量队列),由于Vector是同数组实现的,Stack也是通过数组而非链表. Stack ...
- 从硬件竞争到软实力PK——电视媒体竞争观察
本文观点及数据摘自中广研究<三网融合月度精粹>第26期(2013年2月版),详细参考对应在线简版(http://doc.sarft.net/index.php?f=2013/02/2013 ...