基于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 ...
随机推荐
- Android光线传感器-android学习之旅(65)
主要讲解光线传感器的使用,其实所有的传感器用法类似 主要是定义一个TextView用来显示光线强度,用完了以后记得在OnDestory里面释放资源 代码如下 public class MainActi ...
- UI设计切忌墨守成规,但改变也须用数据说话
因为我提倡一种非标准的方法,Jon Galloway在一段评论里点了我的名: 年,他们很清楚怎么去填写这些表单.如果采用其他方法,用户会感到困惑,有些人还会落荒而逃(丢掉购物车,等等).Web表单很有 ...
- Objective-C中的instancetype和id…
作者:韩俊强 原文地址:http://control.blog.sina.com.cn/admin/article/article_add.php 转载请注明出处 一.什么是instancetype ...
- 20_Android中apk安装器,通过WebView来load进一个页面,Android通知,程序退出自动杀死进程,通过输入包名的方式杀死进程
场景:实现安装一个apk应用程序的过程.界面如下: 编写如下应用,应用结构如下: <RelativeLayout 编写activity_main.xml布局: <Relative ...
- android 常用方法集合
private static Contextcontext; privatestatic Displaydisplay; private static String TAG = "MyToo ...
- CCRenderBuffer初始化中的render state参数
绘制纹理三角形的渲染状态(render state)已经被CCSprite基类设置过了,所以你可以简单的将self.renderState传递过去就可以了. 渲染状态是混合模式(blend mode) ...
- FFMPEG结构体分析:AVIOContext
注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrame FFMPEG结构体分析:AVFormatContext FFMPEG结构体分析:AVCodecConte ...
- SVN版本控制器中各符号的含义
SVN符号的含义 项目开发过程中,随着学习的不断深入,开始慢慢接触到版本管理控制工具,其实这个工具主要用于团队开发之中,但对于个人项目的备份也有好处,可以避免在电脑出现不可预知的故障时,最大化的保护自 ...
- Android服务器——使用TomCat实现软件的版本检测,升级,以及下载更新进度!
Android服务器--使用TomCat实现软件的版本检测,升级,以及下载更新进度! 算下来,TomCat服务器已经写了很长一段时间了,一直说拿他来搞点事 情,也一直没做,今天刚好有空,交流群还有人请 ...
- BMP 转 YUV (BMP2YUV)
本文介绍BMP 转 YUV.其实这是以前"数据压缩"实验课上的内容,前几天有人问我相关的问题,突然发现自己有一段时间没有接触BMP也有些生疏了,因此翻出资料总结一下. BMP文件格 ...